javascript - 挂接到 insertElement 事件是否安全?

标签 javascript ckeditor

这与Image dialog — extend onOk, instead of total overwrite密切相关,只是我想到了另一个解决方案:

editor.on('insertElement', function (ev)
{
    var element = ev.data.$;

    if (element.tagName.toUpperCase() == 'IMG')
    {
         // do stuff with element
    }
});

这非常有效。

不过,这个解决方案的问题在于 CKEditor's Docs它说:

Internal event to perform the insertElement call.

依赖内部事件安全吗?

最佳答案

依赖这个事件有点冒险,虽然我很确定它不会在次要版本中改变,因为我们正在避免这样的改变。

但它可能会在未来的某个主要版本中进行修改。例如在 CKEditor 4.0 中我们被迫修改 editor#insertHtmleditor#paste打破了它们的向后兼容性。然而,editor#paste 是一个正常的公共(public)事件,因此如您所见 - 如果没有其他干净的方法来解决某些设计问题,一切都可能改变。

因此,我认为您可以依赖此事件,但就像所有其他 API 一样 - 主要版本可以带来一些必要的更改。

附言。覆盖对话框定义的 onOk 方法是一个更好的解决方案。

更新:在我看来,insertXXX 事件三重奏被错误地记录为内部事件。它们没有任何内在的东西,它们在类似情况下非常有用。我们可能会更改它们的描述。

关于javascript - 挂接到 insertElement 事件是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922528/

相关文章:

javascript - ckeditor 从 javascript 更新文本区域

javascript - CKEditor 插件按钮在源模式下禁用

javascript - js 通过引用传递函数来覆盖它

javascript - 单击时的 Jquery 类选择器

javascript - 这是范围问题还是函数创建方式问题?

heroku - Rails 4 升级后 Ckeditor-heroku 损坏

javascript - CKFinder如何在选择图像时获取尺寸URL和尺寸(宽度/高度)(文件:choose)?

javascript - 获取不带标签的 ckeditor 内容的前 300 个字符

JavaScript HTML 表格解析

javascript - 使用 addScriptTag 时如何评估带有类型模块的脚本结果