gpt4 book ai didi

tinymce - 有谁知道 TinyMCE 3.5.8 Editor.onEvent(...) 是否在 TinyMCE 4.0b1 中

转载 作者:行者123 更新时间:2023-12-04 23:03:26 25 4
gpt4 key购买 nike

我试图移植(https://github.com/NYTimes/ice)到 TinyMCE 4 的插件需要在 MCE 编辑器处理它之前访问按键事件并与 onEvent(...) 一起使用在 3.5.8 中,但需要迁移到更像 on('event') 的东西在 tinymce 4 中,但没有明显的替代方案。

在微型 MCE 3.5.8 中,我有

            ed.onEvent.add(function(ed, e) {
return changeEditor.handleEvent(e);
});

但我需要更多类似的东西
                ed.on('event', function(e) {
return changeEditor.handleEvent(e);
});

然而 ed.on('event',...) tinymce 4 中似乎不存在。

它需要能够在 keydown、keyup 和 keypress 的任何其他事件处理程序之前捕获删除键。

最佳答案

好的,经过 2 个工作日试图让它发挥作用,我弄清楚了这个特定问题的问题所在。

对于初学者来说,tinymce 4 中的 onEvent(...) 没有等价物。但是无论如何,该插件并不需要访问每个事件。

如果您要移植任何使用 onEvent() 方法的 tinymce 插件,那么您需要识别插件尝试处理的事件,并为每个需要处理的事件显式设置事件处理程序:

                ed.on('mousedown', function(e) {
return changeEditor.handleEvent(e);
});

ed.on('keyup', function(e) {
return changeEditor.handleEvent(e);
});

ed.on('keydown', function(e) {
return changeEditor.handleEvent(e);
});

ed.on('keypress', function(e) {
return changeEditor.handleEvent(e);
});

在我的情况下,我不仅需要将 mousedown、mouseup、keyup、keydown 和 keypress 事件委托(delegate)给插件,我还必须防止它们被编辑器/文本区域过早触发:
ed.on('keydown', function(e) {
// prevent the delete key and backspace keys from firing twice
if(e.keyCode == 46 || e.keyCode==8)
e.preventDefault();
});

因此,如果您遇到类似的问题,请记住这一点。

哦,我在我的 github 上添加了这个 ICE 插件的一个分支: https://github.com/catsgotmytongue/ice/

关于tinymce - 有谁知道 TinyMCE 3.5.8 Editor.onEvent(...) 是否在 TinyMCE 4.0b1 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17370076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com