我无法直接访问这个iframe的源代码,所以我想这样做,如果可能这样.
我有一个由JS生成的iframe:
<iframe name="temp_iframe" width="100%" height="95%" src="'+the_url+'"></iframe>
而里面是一个提交按钮和一个取消按钮.提交按钮工作正常,但我想要取消按钮关闭包含iframe的模式…我还要提交按钮发送,然后关闭模式.通常这将很容易,但我不知道如何在父窗口中将事件设置为影响子窗口的父窗口的iframe的子DOM元素.
例如.如果这不是在iframe和jQuery中:
$('[name=temp_iframe] button').live('click',function(){ alert('click'); return false; });
编辑:也是在同一个领域!
解决方法
使用contents()访问iframe中的Document对象.请注意,在一个文档中使用jQuery库来操纵另一个文档的一般问题,通常应该避免.然而,在绑定事件的情况下,它的工作正常.
$('[name=temp_iframe]').contents().find('button').click(function() { alert('click'); });
这需要iframe及其内容被加载,所以在$(window).load()处理程序中,如果需要的话.您不能在文档之间生活/委托,因为事件不会从子文档传播到其父级.