我正在研究现有项目。我必须检测tinyMCE focusout/blur
事件以通过AJAX自动保存它。我找到了以下现有的工作代码:
// reinit tinymce
$($("#chapterBill div:.module-container")[indexAfter]).find('textarea').each(function(i){
editorId = $(this).attr('id');
tinymce.EditorManager.execCommand('mceAddControl',true, editorId);
});
有人可以告诉我如何捕获tinyMCE textarea focusout/blur
事件吗?
由于
答案 0 :(得分:5)
您不想捕捉textarea焦点/模糊。 Tinymce隐藏了前textarea并创建了一个可以输入/编辑内容的满足iframe。此内容会不时写入以前隐藏的文本区域(基于事件)。
为了在编辑器上捕获焦点/模糊,您需要在编辑器iframe上为此设置处理程序。
将此代码放入您的tinymce init
setup : function(ed) {
ed.onInit.add(function(ed, evt) {
tinymce.dom.Event.add(ed.getDoc(), 'blur', function(e) {
// Do something when the editor window is blured.
alert('blur!!!');
});
});
},
答案 1 :(得分:0)
我也在研究解决方案,以便通过AJAX动态保存tinyMCE内容。许多答案都指示在init中设置此选项,但是由于代码在多个系统中使用,因此我无法使用这种方便。我需要一个页面特定的解决方案,我能够这样实现:
$( window ).load(function(){
tinymce.get('id').on('blur', function(e) {
var content = tinymce.get('id');
console.log(content);
});
});
id
是在textarea元素上设置的id属性。