跟踪jquery里面的iframe的点击
我想了解一种跟踪jQuery内部iframe内点击的方法。 的iframe是定位在相同的域名,但我仍似乎不能够完成这项工作,这是我的代码:跟踪jquery里面的iframe的点击
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
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);
});
});
</script>
</head>
<body>
Clicks: <span id="clicks" >0</span>
<iframe id="myframe" src="test_iframe.php" width="500" height="500"></iframe>
</body>
</html>
的任何想法可能是错误的?
我在SO看过其他与此非常相似的问题,但没有一个答案能解决我的问题。
UPDATE:
我已经更新了我的http://www.politicos.biz/stack/iframe_click.php与@Wes代码代码,它的工作原理上的jsfiddle但不是我的网站上。
确保iframe已完全加载,但要添加事件。
我希望与.document
$('body', window.parent.frames[0].document).click(
function(){}
);
OR
$('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");
});
你在jsfiddle的例子似乎很好,但我的代码在http://x.co/ZFR4没有,请你看一下吗?谢谢! –
您将框架ID更改为名称。只需添加id =“myFrame”即可使用。 – wesbos
我已将'name'改为'id',但仍然没有运气,请您仔细检查?谢谢。 –
,创建一个能够从iframe内调用的函数。
父:
var click = 0;
function addClick()
{
click++;
}
然后从IFRAME
parent.addClick();
称之为最后,简单是指click
的点击次数的数量。希望这可以帮助。
1.请不要使用链接缩短网站,2.不要更新您的问题或添加评论,如:**仍然寻找答案:(**,我们已经知道这是因为没有答案:) – Kev