使用Jquery跟踪iframe内的点击
Track clicks inside iframe with Jquery
我试图找出一种方法跟踪点击与jquery内iframe。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看到过其他非常类似的问题,但没有一个答案能解决我的问题。
更新:
我已经更新了我的代码在http://www.politicos.biz/stack/iframe_click.php与@Wes代码,它适用于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
的点击计数数。
相关文章:
- 使用jQuery从原始页面内容创建iframe
- 如何使用javascript/jquery获取iframe的URL的锚点属性
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 什么更好?使用iframe或jQuery之类的东西在外部网站中加载HTML文件
- 如何在使用JavaScript或jQuery刷新父页面后保留iframe-src
- 如何使用JS/jQuery在另一个网站上显示iframe中的特定内容
- 在iframe的情况下,jQuery html()将失败
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 使用jQuery来foreach iframe-src,并通过函数获取ID和操作
- 在jQuery中的IFrame中提交表单后刷新父窗口
- iframe中的jQuery查找元素不起作用
- 使用Javascript(或jQuery)加载iframe内容
- 在jquery中部分隐藏iframe
- 使用jQuery访问元素'来自谷歌文档托管的iframe的文本
- jQuery在iFrame Src中查找和替换文本
- insertBefore() 一个 iframe jquery 问题
- 将文档加载到 iframe jquery 中
- 在iframe/jQuery/ASP内__doPostBack后刷新
- 替换iframe jquery中的HTML
- Iframe, jquery keypress