javascript - TinyMCE.dom.Event.add 的最佳替代品是什么?

标签 javascript jquery dom tinymce

我正在 TinyMCE 中将旧的自定义 3.2.5 主题迁移到 4.1.10。 在 TinyMCE 3.X 中,有一个函数可以将事件附加到元素上

dom.Event.add(target_id,事件,callbackFn)

现在,在 4.1.10 中,Event.add 已弃用。我读到我应该使用 DOM.bind,但是在我看到的 TinyMCE 旧主题 (3.X) 中,他们传递了 editor.id + '_path_row' (以及其他),而不是仅传递编辑 ID。这是为什么?当我尝试在 DOM 中搜索这些对象时,它们并不存在。

为什么他们会尝试通过传递不存在的元素来附加事件?

我尝试做 DOM.bind(editor.id, 'click',callbackFn);但没有收到以下错误:

Cannot assign to read only property ...

它的唯一工作方式是传递整个编辑器对象。

有什么建议吗?

最佳答案

实现类似目标的最佳且最安全的方法可能是直接将 eventListener 分配给编辑器主体:

editor.getBody().addEventListener('click', callbackFn, false);

对于那些使用 jQuery 的人:

$(editor.getBody()).bind('click', callbackFn);

关于javascript - TinyMCE.dom.Event.add 的最佳替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30310547/

相关文章:

javascript - 使用 MobX 将输入绑定(bind)到 React Dumb 组件内的变量

javascript - 根据某些给定的偏好过滤并返回数组中的元素

javascript - 更改对加载的脚本没有影响

javascript - 从父级或最近的 Div 获取数据值

javascript - React 如何知道组件已从 DOM 中移除?

javascript - 在 contenteditable div 中选择范围(第 2 轮)

javascript - 如何在 Ember js 中获取 currentRouteName 的动态部分

javascript - 使用 Javascript 从文件加载图像

javascript - js点击事件在移动菜单上没有响应

javascript - 使用 javascript 更改未添加元素的 html 标签类型