使用Jquery跟踪iframe内的点击次数

我正试图找出一种用jquery跟踪iframe内部点击的方法。 iframe位于同一个域,但我似乎无法使其工作,这是我的代码:

    var clicks = 0; $('#myframe').load(function() { alert('loaded'); var that = $(this); that.contents().find('a').bind('click', function(e) { e.preventDefault(); clicks++; $('#clicks').html(clicks); }); });    Clicks: 0    

什么可能是错的?

我在SO看到了与此问题非常类似的其他问题,但没有一个问题解决了我的问题。

更新:

我已经使用@Wes代码在http://www.politicos.biz/stack/iframe_click.php更新了我的代码,它适用于jsfiddle,但不适用于我的网站。

在添加事件时,请确保iframe已完全加载。

我希望处理程序可以添加.document

 $('body', window.parent.frames[0].document).click( function(){} ); 

要么

 $('body', $('templateframe')[0].document).click( function(){} ); 

这是一个例子:

http://jsfiddle.net/wesbos/VxA8t/1/

 $(function() { var clicks = 0; $('#myframe').contents().find('a').bind('click', function(e) { e.preventDefault(); clicks++; $('#clicks').html(clicks); }); }); 

您需要先找到链接然后绑定到它。

你的代码应该是这样的:

 $('body', $('templateframe')).contents().find('a').click(function(event) { alert("Link Clicked"); }); 

在父框架上,创建一个从iframe内部调用的函数。

父:

 var click = 0; function addClick() { click++; } 

然后,从iframe调用它

 parent.addClick(); 

最后,简单参考click查看点击次数。 希望这可以帮助。