Базовое событие CKEditor / JQuery не работает - PullRequest
0 голосов
/ 29 марта 2012

Я использую CKEditor на веб-странице с JQuery. Задача состоит в том, чтобы позволить пользователю вставлять токены в текст. Жетоны приходят из поля выбора. Таким образом, пользователь может написать:

Здравствуйте,% имя%, Наши записи показывают, что ваш текущий почтовый адрес% current-mailing-address% .......

Идея заключается в том, что после публикации формы токены будут анализироваться для каждого тела в списке «Кому», а затем будут отправляться персонализированные электронные письма.

Мой подход примерно такой:

В поле выбора JQuery onChange я спрошу экземпляр CKEditor, какова текущая позиция каретки, затем вставлю токен в эту позицию.

Текстовая область определяется как:

<textarea rows="10" cols="100" id="wysiwyg" name="emailText"></textarea>

CKEditor Jquery привязка:

var config = {
        skin:'v2',
        toolbar : 'Basic'
    };
$('#wysiwyg').ckeditor(config);

wysiwyg - это идентификатор TEXTAREA.

Я хотел протестировать некоторые базовые функции событий и попробовал следующее, но, похоже, ни один из них не работает:

$('#wysiwyg').on( 'click', function() {alert('honum'); }); // Does not work

var editor = CKEDITOR.instances.wysiwyg;
$(editor).on('click', function(evt) {alert('honum'); }); // Does not work

var element = CKEDITOR.document.getById( 'wysiwyg' ); // No luck here either
element.on( 'click', function( ev ) {
    alert('hohum');
});

Может кто-нибудь сказать, пожалуйста, что я делаю не так? Как правильно решить эту проблему, любые указатели будут с благодарностью.

1 Ответ

0 голосов
/ 31 марта 2012

Не знаю почему, но сработало следующее:

CKEDITOR.instances.wysiwyg.on('paste', function() {
    alert ('Hohum');
});
...