【发布时间】:2017-03-01 23:14:22
【问题描述】:
我正在尝试在页面上的所有 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() 是我编写的一个函数,它只是删除了 textarea 上的一些 CSS 格式。它应该不会影响问题。)
我添加了几个警报以查看发生了什么。因此,正如预期的那样,当文档就绪事件启动此代码时,我立即得到一个接一个的文本区域,其中包含每个 CKEditor 文本区域的名称。这行得通。
但是,当我在任何文本区域内单击以使它们获得焦点时,警报总是会弹出页面上最后一个文本区域的名称。
【问题讨论】:
-
运行
console.log(CKEDITOR.instances);时在Firebug或其他控制台中有什么?
标签: jquery focus ckeditor instance