Ant*_*ton 3 html javascript tinymce
不确定是否有人曾经使用过你的TinyMCE这个问题.我有一个on change事件处理程序,它改变另一个元素的值.请参阅下面的init代码:
/** 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);
});
}
});
Run Code Online (Sandbox Code Playgroud)
当我键入/粘贴文本时,change事件正常触发,但是当我撤消文本更改时,change事件无法正常触发.
任何想法如何强制change撤消和重做事件的事件?
任何帮助将不胜感激!
内容不是很容易找到,但TinyMCE网站确实描述了在编辑器生命周期过程中触发的事件列表,并解释了这些事件何时被触发.
在您的场景中,只需将重做和撤消事件添加到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);
});
}
Run Code Online (Sandbox Code Playgroud)
仅供参考,我在更改链接的 URL 时遇到了同样的问题(它没有触发任何事件),我通过手动触发事件来解决:
tinymce.activeEditor.fire('change');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2452 次 |
| 最近记录: |