tinyMCE textarea焦点活动?

时间:2012-01-09 16:06:41

标签: javascript jquery tinymce textarea focusout

我正在研究现有项目。我必须检测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事件吗?

由于

2 个答案:

答案 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属性。