gpt4 book ai didi

javascript - TinyMCE 撤消操作不会触发更改事件

转载 作者:搜寻专家 更新时间:2023-10-31 22:43:57 24 4
gpt4 key购买 nike

不确定是否有人在使用您的 TinyMCE 时遇到过这个问题。我有一个更改事件处理程序,它更改另一个元素的值。请参阅下面的初始化代码:

/** Initialize TinyMCE inline editor for headline text */
tinymce.init({
selector: ".editable.headline",
paste_as_text: true,
inline: true,
toolbar: "undo redo",
menubar: false,
verify_html: false,
font_formats: "MuseoSans = sans-serif;",
setup: function(ed) {
var text = '';
var wordlimit = 200;
/** handler for keydown event to prevent < 200 character limit */
ed.on('keydown',function(e) {
text = ed.getContent().replace(/(< ([^>]+)<)/g, '');
wordcount = wordlimit - (text.length);
if(wordcount <= 0 && e.keyCode != 8) {
e.preventDefault();
e.stopPropagation();
return false;
}
});
/** handler for headline text changes */
ed.on('change',function(e) {
var content = tinyMCE.get(ed.id).getContent();
var escapedClassName = ed.id.replace(/(\[|\])/g, '\\$&');
$('.'+escapedClassName).html(content);

});
}
});

当我键入/粘贴文本时,change 事件会正确触发,但是当我撤消文本更改时,change 事件不会正确触发。

关于如何在撤消和重做事件上强制触发 change 事件有什么想法吗?

如有任何帮助,我们将不胜感激!

最佳答案

内容不是很容易找到,但是 TinyMCE 网站确实描述了一个列表 events that are fired during the course of the editor's lifecycle并解释这些事件何时触发。

在您的场景中,只需将redoundo 事件添加到on setup 中的函数调用功能。

setup: function (ed) {
ed.on('change redo undo',function(e) {
var content = tinyMCE.get(ed.id).getContent();
var escapedClassName = ed.id.replace(/(\[|\])/g, '\\$&');
$('.'+escapedClassName).html(content);
});
}

关于javascript - TinyMCE 撤消操作不会触发更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25732524/

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