如何将事件绑定到本地iframe中的元素?
首先,父页面和iframe都托管在同一台服务器上(我在WAMP上的localhost),所以同样的原始策略不应该是一个问题。
我无法触发工作。 我的iframe的id为iframe
。
$(window).load(function(){ //iframe ad hovers $('#iframe').contents().find('body div').click(function(){ alert('do something here'); }); });
我究竟做错了什么?
我不确定浏览器是否会将 的窗口上下文中的“click”事件传播到包含窗口。
加载到 的文档是否有自己的jQuery副本?
如果是这样,你可以试试这个:
$('#iframe').contents().$.find('body div').click(function(){ alert('do something here); });
该更改使窗口中的jQuery代码处理该事件。
好吧,我认为@jAndy是正确的,应该按原样运行 – 但你必须确保框架中的文档已加载。 试试这个:
$('#iframe').load(function() { $(this).contents().find('body div').click(function() { alert("hi"); }); });
你的代码没错; 我认为你唯一的错误就是你要求在父页面加载iframe的内容,这意味着在这个阶段iframe还没有加载。
试试我的快速示例http://jsfiddle.net/UFM44/4/它与你的代码相同但我在点击“now”链接后触发它。 如果您随后单击徽标,则可以看到alert()消息。