Обнаружение и манипулирование областями CKEditor - PullRequest
0 голосов
/ 17 сентября 2011

Мне нужно написать функцию javascript, которая может просматривать WYSIWYG на странице (CKEditor), которая отображается после загрузки страницы с помощью модуля Drupal WYSIWYG. У меня возникают трудности с использованием jQuery даже при поиске редактора.

$ (textarea # textarea-id) .change или .keyup ничего не делают.

Я могу сделать это:

console.log(CKEDITOR.instances);

Это, по крайней мере, показывает мне случай, когда CKEditor присоединяется к себе. Я не могу ссылаться на что-либо после этого:

CKEDITOR.instances.myinstance-name или CKEDITOR.instances [0] оба возвращают неопределенное значение.

Я ходил кругами уже 2 часа и не уверен, что еще попробовать.

Все, что я хочу сделать, - это когда пользователь печатает (keyup), считает количество введенных символов. Если длина ввода превышает определенную длину, я хочу принудительно вставить разрыв строки прямо в тексте.

Как я могу реализовать это? Я думал, что это будет довольно просто.

Используя другие примеры, которые я видел:

for (var i in CKEDITOR.instances) {
  CKEDITOR.instances[i].on('change', function() {alert('test 1 2 3')});
}

Приведено без предупреждения.

Редактор загружается / отображается в iframe (через CKEditor / WYSIWYG в Drupal).

1 Ответ

1 голос
/ 17 сентября 2011

Доступен плагин, который предоставляет событие onChange для CKEditor, вы можете найти его (вместе с инструкциями) здесь .

Он предлагает использовать такой код:

editor.on( 'saveSnapshot', function(e) { somethingChanged(); });
...