У меня есть следующий код, который генерирует мой CKEditor по умолчанию в моей форме:
$('#Content').ckeditor({
filebrowserUploadUrl: '/ControlPanel/Reviews/UploadReviewImage/'
});
Как видите, моя реализация довольно проста - большинство настроек контролируются в config.js и являются глобальными для моего сайта, за исключением обработчиков загрузчика.
Искал несколько дней, но не могу найти ничего лаконичного. Мне нужно уметь определять, когда щелкают CKEditor, и увеличивать окно (хотя и не во весь экран). Я также хочу отображать текст справки при нажатии на CKEditor ... но я не могу понять, как обрабатывать события dom или применять к нему события JQuery? Я пробовал несколько разных вещей, моя последняя попытка была следующей:
$("#Content").ckeditorGet().click(window.showDescription);
Но я получаю ошибку типа:
Uncaught TypeError: Object #<Object> has no method 'click'
Это понятно, поскольку CKEditor имеет свою собственную систему событий.
Документация CKEditor кажется очень неинтуитивной - и примеры не очень помогают.
UPDATE
Мне удалось заставить это работать самостоятельно, хотя из-за того, как я написал свое окно. Функция 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);
});
});