TinyMCE: Обнаружение onLeave () - PullRequest
0 голосов
/ 16 декабря 2009

Я пытаюсь определить, когда пользователь покинул окно редактора tinyMCE, но я не могу этого сделать. Вот код, который, я думаю, должен работать (но не работает):

$('.mceEditor').blur(function(){
    // I would expect this to fire when the user leaves the
    // tinyMCE editor, but it never seems to fire
});

Я тоже пробовал:

$('*')
    .not('.mceEditor, .mceEditor *')
    .click(function(){
        // I would expect this to fire when anything but the tinyMCE editor
        // has been clicked, but it seems to fire at every click
    });

Ни один из методов не работает, и я занимался этим часами. Любая помощь будет высоко оценена.

Спасибо, Simon

PS: я использую версию плагина jquery, найденную здесь: http://tinymce.moxiecode.com/examples/example_23.php

Ответы [ 3 ]

2 голосов
/ 26 июля 2010

Я думаю, это должно работать

tinyMCE.dom.Event.add(tinyMCE.getInstanceById("editor-id").getWin(), "blur", function(){
    // Blur operations
});
0 голосов
/ 17 декабря 2009

TinyMCE создает редактор в виде iframe внутри элемента SPAN-обертки. Вы можете использовать событие SPAN для элемента onfocusout.

Пример: если идентификатор элемента textarea равен 'content', TinyMCE создает SPAN с идентификатором элемента 'content_parent'.

$("#content_parent")[0].onfocusout =function(){alert('mouse out');};
0 голосов
/ 16 декабря 2009

Похоже, что tinymce подключается с помощью iframe. В этом случае вам потребуется доступ к DOM iframe, что-то вроде этого может сработать.

$("#content_ifr").contents().find('#tinymce');

Где content_ifr - это идентификатор iframe, а #tinymce - это тег, который охватывает содержимое. Используйте firebug и ковыряйтесь, чтобы увидеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...