Я пытаюсь установить событие фокуса для всех моих текстовых областей CKEditor на странице. Вот код, который загружает готовый документ jQuery:
for (var i in CKEDITOR.instances) {
alert(CKEDITOR.instances[i].name);
CKEDITOR.instances[i].on('focus', function() {
alert(CKEDITOR.instances[i].name);
remove_invalidation(CKEDITOR.instances[i].name);
});
}
(Примечание: remove_invalidation() — это написанная мной функция, которая просто удаляет некоторое форматирование CSS в текстовой области. Это не должно влиять на проблему.)
Я добавил пару предупреждений, чтобы увидеть, что происходит. Итак, сразу же, как и ожидалось, когда событие готовности документа запускает этот код, я получаю одну текстовую область за другой с именами каждой из текстовых областей CKEditor. Это работает.
Но когда я щелкаю внутри любой из текстовых областей, чтобы сфокусировать их, в предупреждении всегда появляется имя последней текстовой области на странице.
console.log(CKEDITOR.instances);? - person atma   schedule 21.09.2011