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