2015-11-02 147 views
0

我有一个包含iframe的页面。 iframe内部是一个可以理解的部分,可以节省onblur事件。只要onblur事件发生在iframe内部(点击同一个iframe中的另一个区域),这就可以正常工作。在iFrame之外点击聚焦元素时触发模糊

但是,如果用户在iframe区域(父级)之外单击,则模糊事件永远不会在iframe(子级)内触发,因此数据不会保存。

如何获得在iframe中触发的onblur事件,即使在父级的iframe之外进行点击操作?

我在这可以找到的所有答案都涉及到相反的情况,在iframe中点击触发父级事件。我如何做相反的事情?

+0

您可以复制问题吗?因为点击父页面应该会触发iframe内部的任何模糊事件,如果它内部的特定元素被聚焦。顺便说一句,在每个浏览器中,你测试它?它跨域的iframe? –

+0

@ A.Wolff好吧,那么它可能是特定于我的情况。我的应用程序被加载到另一个系统窗口(在iframe本身)内,所以我的应用程序被加载到一个iframe中,在该iframe中我拥有一个自己的iframe ..两者都在同一个域中。我将检查我内部的父框架(在我的控制之外)是否取消默认的模糊事件。 –

回答

0

所以事实证明,问题是模糊事件没有传递给我的编辑器。将下面的代码添加到iFrame内部的编辑器中,使其正常工作:

$("[contenteditable='true']").blur(function(e) { 
    editor1.trigger('blur', e, $(e.target)); 
})