0

我正在尝试制作一个脚本来检测对谷歌广告的点击。除了单击、焦点、鼠标按下之外,所有事件都像 onmouseover、out 等一样工作。当我点击谷歌广告时,它会打开它的广告链接,但不会在点击事件上运行我的 jquery 脚本。我也尝试过 preventdefault 和其他类似的功能。我想检测对谷歌广告的点击,并在点击时将 iframe 的宽度和高度解析为 php 文件。

$(window).load(function(){
    $('iframe').bind('mouseover', function(){
        var iframeID = $(this).attr('id');
        $(this).contents().find('html').unbind();
        $(this).contents().find('html').bind('click', function(){
            alert(iframeID);
        });
    });
});

这是在鼠标悬停时运行的代码,而不是在单击事件上运行的代码。

4

2 回答 2

1

您需要在 iframe 的内容上绑定点击事件,直到内容完全加载到 iframe 内。尝试将代码包装在 load 事件中。

  $('iframe').load(function() {
       var iframeID = $(this).attr('id');
       $(this).contents().find('html').unbind();
       $(this).contents().find('html').bind('click', function(){
           alert(iframeID);
       });
  });
于 2013-08-02T06:42:06.957 回答
0

当内容来自另一个域时,无法捕获 iFrame 的单击事件。

您可以做的是检测鼠标进入并离开 iframe。

这是示例

<div class="item">
<iframe src="http://www.google.com" width="612" height="344" frameborder="0"></iframe>
</div>

<script type="text/javascript">
$("div.item iframe")
.mouseover(function(){
    alert("mouse over");
})
.mouseout(function(){
    alert("mouse out");
});
</script>
于 2013-08-02T06:42:44.993 回答