Tinymce Blur /焦点事件

Joh*_*nes 8 tinymce

我尝试捕捉一个tinyMce编辑器的Blur和Focus事件.

我找到了以下方法.

            ed.onInit.add(function(ed) {
                tinyMCE.execCommand('mceRepaint');

                var dom = ed.dom;
                var doc = ed.getDoc();

                if (o.onblurtopics) {
                    tinymce.dom.Event.add(doc, 'blur', function(e) {
                        alert("blur");
                    });
                }
                if (o.onfocustopics) {
                    tinymce.dom.Event.add(doc, 'focus', function(e) {
                        alert("focus");
                    });
                }

            });
Run Code Online (Sandbox Code Playgroud)

这很好,但仅限于Firefox.当我在当前的Chromium或IE8中尝试这个时,它没有任何效果.

有没有人有建议?

小智 10

使用

tinymce.dom.Event.add(s.content_editable ? ed.getBody() : (tinymce.isGecko ? ed.getDoc() : ed.getWin()), 'blur', function(e) {
    alert('blur');
}
Run Code Online (Sandbox Code Playgroud)

  • 什么是'这里'..?! (3认同)

Kri*_*fer 5

对我来说似乎过于复杂,这应该工作:

        editor.onInit.add(function(editor) {
            tinymce.dom.Event.add(editor.getBody(), "focus", function(e) {
                parent.console.log('focus');
            });
        });

        editor.onInit.add(function(editor) {
            tinymce.dom.Event.add(editor.getBody(), "blur", function(e) {
                parent.console.log('blur');
            });
        });
Run Code Online (Sandbox Code Playgroud)


Tha*_*ama 2

您可以使用jQuery来处理模糊/焦点(然后 jQuery 将处理与浏览器相关的内容)。

更新:它有效! 这是tinymce小提琴:http://fiddle.tinymce.com/ageaab/1

这是代码:

<script type="text/javascript">
tinymce.init({
    selector: "textarea",
    plugins: [
        "advlist autolink lists link image charmap print preview anchor",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime media table contextmenu paste"
    ],
    toolbar: "bold italic",
    setup : function(ed) {
        ed.on('init', function()
        {
            $(ed.getBody()).on('blur', function(e) {
                console.log('blur');
            });
            $(ed.getBody()).on('focus', function(e) {
                console.log('focus');
            });
        });
    }

});
</script>

<form method="post" action="dump.php">
    <textarea name="content"></textarea>
</form>
Run Code Online (Sandbox Code Playgroud)

  • 我认为正常的模糊/聚焦功能不适用于tinymce实例。 (7认同)