Я следующий код, который генерирует мой по умолчанию CKEditor на моей форме:CKEditor с MVC: Обработка событий
$('#Content').ckeditor({
filebrowserUploadUrl: '/ControlPanel/Reviews/UploadReviewImage/'
});
Как вы можете видеть, моя реализация довольно проста - большинство настроек управляются в config.js и являются глобальными для моего сайта, кроме обработчиков загрузчика.
Он ищет несколько дней, но не может найти ничего кратким. Мне нужно уметь обнаруживать, когда нажата кнопка CKEditor, и сделать окно больше (хотя и не полноэкранным). Я также хочу отобразить текст справки при нажатии CKEditor ... но я не могу понять, как обрабатывать dom-события или применять к нему события JQuery? Я пытался несколько различных вещей, следующее время моей последней попытки:
$("#Content").ckeditorGet().click(window.showDescription);
Но я получаю TypeError:
Uncaught TypeError: Object #<Object> has no method 'click'
что вполне понятно, так как CKEditor имеет свою собственную систему событий.
Документация CKEditor кажется очень неинтуитивной - и примеры на самом деле не очень помогают.
UPDATE
мне удалось получить эту работу самостоятельно, хотя из-за THW, как я написал свою функцию window.ShowDescription, мне нужно было пройти мероприятие JQuery в него. Вот код для всех, кто интересуется :)
$("#Content").ckeditorGet().on("instanceReady", function() {
this.on("focus", function() {
this.resize(638);
// Mimic JQuery event for textarea
var originalEditor = $(this.container.$).parents(".input").find("textarea");
originalEditor.trigger(jQuery.Event("focus"));
});
this.on("blur", function() {
this.resize(400);
});
});
Спасибо - я проработал вчера вечером (и реализовал его несколько иначе из-за моих потребностей), я как раз собираюсь обновить вопрос с ответом :) – Spikeh
О, и спасибо за предложение autoGrow - на самом деле улучшает опыт (я только хотел увеличить ширину при фокусировке, поэтому плагин автошопа идеально подходит). – Spikeh
Нет проблем. Рад, что это сработало. –