Событие размытия tinyMCE

Привет Я хочу сделать некоторые вещи, когда пользователь закончил писать в текстовом поле 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...

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

Ответ 2

Вы можете использовать этот подход для решения своей проблемы. При инициализации 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
...

Ответ 3

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

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

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

Ответ 4

Я использовал это, чтобы закрыть внешнюю панель инструментов при размытии, кажется, что работает (тестируется только на 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);
            });

        });
    },

    // ....

}

Ответ 5

Edit:

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

Можете ли вы разместить html для #id_topic_text_parent span?

$ ( '# Id_topic_text_parent'). Найти ( '') текстовое поле. Размытости (функция() {  предупреждение ( 'ASD'); }); Забастовкa >