我已经搜索了很多东西,但是通过google-fu'ing没有得到任何结果:(
我有一个已经初始化的tinyMCE
编辑器,无法控制它的初始化过程,因此以下代码根本不起作用:
tinyMCE.init({
...
setup : function(ed) {
ed.onChange.add(function(ed, l) {
console.debug('Editor contents was modified. Contents: ' + l.content);
});
}
});
由于未定义jQuery tinymce插件,因此类似以下代码的代码也不起作用:
$('textarea').tinymce({
setup: function(ed) {
ed.onClick.add(function(ed, e) {
alert('Editor was clicked: ' + e.target.nodeName);
});
}
});
我的意思是,它必须使用tinymce.something
语法。
在tinyMCE已经初始化之后,如何将回调函数绑定到任何tinyMCE事件?
用console.log()入侵tinymce对象后,我找到了一个可行的解决方案:
setTimeout(function () {
for (var i = 0; i < tinymce.editors.length; i++) {
tinymce.editors[i].onChange.add(function (ed, e) {
// Update HTML view textarea (that is the one used to send the data to server).
ed.save();
});
}
}, 1000);
在该回调函数中,可以设置要绑定的任何事件。
该setTimeout
电话是克服的赛车状况tinymce
和jQuery
,因为当该呼叫tinymce.editors[i].onChange.add()
是由TinyMCE的尚未初始化。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句