jQuery点击跟踪无法在iFrame上运行

时间:2011-07-23 20:55:24

标签: javascript jquery iframe onclick

首先,这是我的代码:

<script type="text/javascript">
    $('#Advertisement-1').click(function () { 
        alert("Ad Clicked!"); 
    });
</script>

<div id="Advertisement-1">
    <!-- PBBG Ads Zone Code Begin -->
    <center>
        <iframe src='http://www.pbbgads.com/ad.php?z=429&bg=000000' width='468' height='67' marginwidth='0' marginheight='0' hspace='0' vspace='0' frameborder='0' scrolling='no'></iframe>
    </center>
    <!-- PBBG Ads Zone Code End -->
</div>

现在,我的问题是当我点击广告时,它不会发送提醒。它只是在新窗口中打开广告。我有什么想法让点击事件发挥作用?

3 个答案:

答案 0 :(得分:3)

click事件不适用于iframe,因为该事件不会通过DOM中<iframe>标记的祖先冒泡。

相反,您可以使用模糊事件来检测您的父页何时失去焦点。 此jQuery插件旨在跟踪iframe上的点击次数:https://github.com/finalclap/iframeTracker-jquery

它非常易于使用,只需使用选择器选择iframe,并提供回调函数(单击iframe时将触发):

jQuery(document).ready(function($){
    $('.iframe_wrap iframe').iframeTracker({
        blurCallback: function(){
            // Do something when iframe is clicked (like firing an XHR request)
        }
    });
});

答案 1 :(得分:0)

除非您从http://www.pbbgads.com/

检测到点击,否则您无法使用

答案 2 :(得分:0)

要提醒的代码位于父窗口中,我想的广告位于iframe内部,因此除非父网页和iframe位于同一个网域中,否则无法进行此操作。