将子 iframe 中的事件附加到父窗口中的处理程序

2023-11-28

我无法直接访问此 iframe 的源代码,因此如果可能的话,我想这样做。

我有一个由 JS 生成的 iframe:

<iframe name="temp_iframe" width="100%" height="95%" src="'+the_url+'"></iframe>

里面有一个提交按钮和一个取消按钮。提交按钮工作正常,但我希望取消按钮关闭包含 iframe 的此模式...我还希望提交按钮发送,then关闭模式。通常这很容易,但我不确定如何在父窗口中向 iframe 的子 DOM 元素设置一个事件,该事件会影响子窗口的父窗口(主窗口)。

例如。如果这不在 iframe 和 jQuery 中:

$('[name=temp_iframe] button').live('click',function(){
    alert('click');
    return false;
});

编辑:而且,它位于同一个域上!


Use contents()访问 iframe 内的 Document 对象。请注意,在一个文档中使用 jQuery 库来操作另一个文档通常会出现问题,通常应该避免。然而,在绑定事件的情况下它确实有效。

$('[name=temp_iframe]').contents().find('button').click(function() {
    alert('click');
});

这需要加载 iframe 及其内容,因此请在$(window).load()处理程序(如果需要)。你不能live/delegate跨文档,因为事件不会从子文档传播到其父文档。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将子 iframe 中的事件附加到父窗口中的处理程序 的相关文章

随机推荐