крошечное событие размытия - PullRequest
13 голосов
/ 08 апреля 2011

Hello Я хочу сделать кое-что, когда пользователь закончит писать в текстовой области tinyMCE и щелкнет где-то снаружи (onBlur). До сих пор я пытался:

$('#id_topic_text_parent').live('blur',function(){
    alert('asd')
//I saw #id_topic_text_parent in firebug, it is span containing the tiny mce
});

также

$('#id_topic_title').blur(*and*)live('blur...
tinyMCE.activeEditor.blur(*and*)live('blur...

Но это не сработает.
Можете ли вы помочь мне.

Ответы [ 5 ]

16 голосов
/ 04 июня 2014

согласно http://www.tinymce.com/wiki.php/api4:event.tinymce.Editor.blur

Это работает для меня

setup : function(ed) {
    ed.on('blur', function(e) {
        alert('blur');
    });
},
10 голосов
/ 08 апреля 2011

Вы можете использовать этот подход для решения вашей проблемы. При инициализации tinymce задайте следующий параметр настройки (внутри tinyMCE.init({...})

...
theme: "advanced",   // example param
plugins = 'code',    // example param
setup : function(ed) {
    ed.onInit.add(function(ed, evt) {

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

        tinymce.dom.Event.add(doc, 'blur', function(e) {
            // Do something when the editor window is blured.
            alert('blur!!!');
        });
    });
},
cleanup: true,      // example param
...
1 голос
/ 10 июня 2013

Я использовал это, чтобы закрыть внешнюю панель инструментов на размытие, , кажется, работает (проверено только на FF на данный момент)

function showHideBar(sho,aid) { // aid=id not used
    if(sho) {
        $( ".mceToolbar,.mceExternalClose" ).show();
    } else {
        $( ".mceToolbar,.mceExternalClose" ).hide();
    }
}

tinyMCE.init({

    // ....

    theme_advanced_toolbar_location: "external",
    resize : true,
    setup : function(ed) {
        ed.onInit.add(function(ed, event) {
            $(ed.getBody()).blur(function() {
                // alert("blur");
                showHideBar(false,ed.id);
            });

            $(ed.getBody()).focus(function() {
                // alert("focus");
                showHideBar(true,ed.id);
            });

        });
    },

    // ....

}
1 голос
/ 09 октября 2012

Пожалуйста, используйте

function myCustomOnChangeHandler(inst) {
        alert("Some one modified something");
        alert("The HTML is now:" + inst.getBody().innerHTML);
}

tinyMCE.init({
        ...
        onchange_callback : "myCustomOnChangeHandler"
});

Ссылка: http://www.tinymce.com/wiki.php/Configuration:onchange_callback

Эта функция вызывается, когда пользователь "размывает" область;

0 голосов
/ 08 апреля 2011

Редактировать:

$('#id_topic_text_parent textarea').live('blur', function() {
   alert('asd');
});

Можете ли вы опубликовать html для #id_topic_text_parent span?

$ ('# id_topic_text_parent'). Find ('textarea'). Blur(function () {alert ('asd');});

...