tinyMCE v6 事件冒泡
tinyMCE v6 event bubbling
我试图捕捉在编辑器 iFrame 内的 < p > 元素上触发的 keydown,但使用这段代码,我得到了 textarea 元素。 Event.stopPropagation() 不停冒泡,我还是得到最顶层的元素
tinymce.init({
selector: 'textarea',
setup:function(editor) {
editor.on('keydown', function(event) {
console.log(event.target);
});
}
});
我在 API 中看到 tinymce.event 有自己的 stopPropagation() 方法,但不知道如何让它工作。 Tinymce.event return 未定义 与 editor.event 或 tinymce.Event.type
相同
另外,还有 eventDispatcher Utility API 但试图通过 eventDispatcher.dispatch() 触发的 editor.on keydown 处理 keydown 什么也得不到
最后,我尝试从编辑器内部的一个块中删除 class/style。因为这个块是以编程方式添加的,所以我不能用 class 名称来做到这一点。我需要一个 keydown 发生的元素指针
发现我可以使用 tinyMCE 选择助手来获取具有当前焦点的元素(触发事件)并解决我的任务
所以最后的代码是
tinymce.init({
selector: 'textarea',
setup:function(editor) {
editor.on('keydown', function(event) {
const element = editor.selection.getNode();
if (editor.dom.hasClass(element, 'classname')) {
}
}
});
我试图捕捉在编辑器 iFrame 内的 < p > 元素上触发的 keydown,但使用这段代码,我得到了 textarea 元素。 Event.stopPropagation() 不停冒泡,我还是得到最顶层的元素
tinymce.init({
selector: 'textarea',
setup:function(editor) {
editor.on('keydown', function(event) {
console.log(event.target);
});
}
});
我在 API 中看到 tinymce.event 有自己的 stopPropagation() 方法,但不知道如何让它工作。 Tinymce.event return 未定义 与 editor.event 或 tinymce.Event.type
相同另外,还有 eventDispatcher Utility API 但试图通过 eventDispatcher.dispatch() 触发的 editor.on keydown 处理 keydown 什么也得不到
最后,我尝试从编辑器内部的一个块中删除 class/style。因为这个块是以编程方式添加的,所以我不能用 class 名称来做到这一点。我需要一个 keydown 发生的元素指针
发现我可以使用 tinyMCE 选择助手来获取具有当前焦点的元素(触发事件)并解决我的任务
所以最后的代码是
tinymce.init({
selector: 'textarea',
setup:function(editor) {
editor.on('keydown', function(event) {
const element = editor.selection.getNode();
if (editor.dom.hasClass(element, 'classname')) {
}
}
});