iFrame Click事件未激发

iFrame Click事件未激发,iframe,jquery,Iframe,Jquery,如何使用JQuery捕获iframe上的单击。我有一个Amazon横幅,当用户单击iframe时,我需要关闭它的container DIV。我尝试了“内容”,单击iframe,绑定事件,但没有任何效果。当我单击iframe时,它会在另一个选项卡上打开Amazon的页面,但单击事件从未触发。我设置了一个断点并发出警报以确保安全 我正在使用最新的JQuery版本1.9,并在Chrome上进行了测试。我还考虑捕获全局单击($(document).click)并检查单击区域,但当我单击iframe时,$

如何使用JQuery捕获iframe上的单击。我有一个Amazon横幅,当用户单击iframe时,我需要关闭它的container DIV。我尝试了“内容”,单击iframe,绑定事件,但没有任何效果。当我单击iframe时,它会在另一个选项卡上打开Amazon的页面,但单击事件从未触发。我设置了一个断点并发出警报以确保安全

我正在使用最新的JQuery版本1.9,并在Chrome上进行了测试。我还考虑捕获全局单击($(document).click)并检查单击区域,但当我单击iframe时,$(document).click不会触发。有什么建议吗

同样,这是一个Amazon横幅iframe,它托管在Amazon上,而不是我的服务器上


不起作用的常规绑定示例:

有一个巧妙的技巧可以“点击”iframe内容

你可以做:

<div id="iframeinside">
    <iframe />
</div>
这些间隔确实需要:

function doSomething() {
    /* if the focus has changed to the iframe */
    if(oldActive != frame && document.activeElement == frame) {
        oldActive = document.activeElement;
        alert(myQuery);
        alert('click did happen to the iframe');
    }
}

我用它做了好几件事,而且一直都很管用。我没有检查ie6、7和哥哥的情况。

由于安全限制,这将不起作用。谢谢。任何其他捕捉点击的方式,可能是在iframe区域,根据鼠标x,y。。任何建议您都可以覆盖一个透明div,但是用户必须单击两次。很抱歉,没有方便的解决方案。谢谢您的时间和反馈。当然,它是通过activeElement技巧工作的。请阅读我的答案。这正是我想要的,但现在我们无法检测到iframe中的哪个元素也被单击了,可以吗?很抱歉,这是您所能做到的。这意味着你不能。这是一个浏览器安全限制!这是一个很好的解决方案,但只适用于firefox。即使在我写它的时候,它也不起作用。它在所有主流浏览器中都运行良好。即使是一些ie7。
function doSomething() {
    /* if the focus has changed to the iframe */
    if(oldActive != frame && document.activeElement == frame) {
        oldActive = document.activeElement;
        alert(myQuery);
        alert('click did happen to the iframe');
    }
}