我试图拦截点击页面上的链接,包括iframe内的链接。这是我的代码,但它不起作用。任何想法我需要做什么?
$("#container").delegate('a', 'click', function(e){
//do stuff
}
Container是iframe内部div的id。
提前感谢任何建议
答案 0 :(得分:2)
你需要进入<iframe>
并在那里设置代表,你可以这样做:
$('#myiframe').contents().find("#container").delegate('a', 'click', function(e){
//do stuff
}
编辑 - Mailslut在下面提出了一个很好的观点,如果iframe不在同一个域(和端口)上,你就不能做这样的事情了。如果是这种情况,并且您想要了解更多原因,read about the same-origin policy出于安全原因。
答案 1 :(得分:1)
为什么不在iframe中添加事件监听器,然后调用parent / opener来通知事件。
如果iframe的内容位于不同的域中,您将无法执行此操作,因为它被归类为“click-jacking”,这是一个很大的安全威胁。