Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TinyMCE:检测onLeave()_Javascript_Jquery_Html_Tinymce - Fatal编程技术网

Javascript TinyMCE:检测onLeave()

Javascript TinyMCE:检测onLeave(),javascript,jquery,html,tinymce,Javascript,Jquery,Html,Tinymce,我试图检测用户何时离开tinyMCE编辑器窗口,但我无法这样做。以下是我认为应该有效的代码(但不是): 我也试过: $('*') .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

我试图检测用户何时离开tinyMCE编辑器窗口,但我无法这样做。以下是我认为应该有效的代码(但不是):

我也试过:

$('*')
    .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
    });
这两种方法都不管用,我已经做了好几个小时了。任何帮助都将不胜感激

谢谢, 西蒙

PS:我正在使用jquery插件版本,可以在这里找到:

看起来tinymce正在使用iframe插入。在这种情况下,您必须访问iframe的DOM,类似的东西可能会起作用

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

其中content_ifr是iframe的ID,#tinymce似乎是包含内容的标记。使用firebug并四处查看。

TinyMCE将编辑器创建为包装器SPAN元素中的iframe。 您可以使用SPAN元素“onfocusout”事件

例如:如果textarea元素id为“content”,TinyMCE将创建一个元素id为“content\u parent”的范围

$("#content_parent")[0].onfocusout =function(){alert('mouse out');};

我想这应该行得通

tinyMCE.dom.Event.add(tinyMCE.getInstanceById("editor-id").getWin(), "blur", function(){
    // Blur operations
});

谢谢你的回复。事实上,我用firebug做了一些“戳”操作,在iframe中找不到任何元素,但我仍然可以在那里键入。这快把我逼疯了!我认为这是将标记中的文本区域转换为带有html/css的iframe。不过,我仍然会尝试将onblur事件绑定到iframe。值得一试。
tinyMCE.dom.Event.add(tinyMCE.getInstanceById("editor-id").getWin(), "blur", function(){
    // Blur operations
});