如何检测从<DIV>
触发的javascript点击?
例如,我在页面上的3个不同<DIV>
中有3个adSense广告,我想在点击广告时检测并触发操作。
当<DIV>
为空时或任何其他元素时,很容易检测到{{1}}的点击次数;但如何检测adSense广告(代码)的点击次数?
答案 0 :(得分:2)
据我所知,Adsense广告加载在iframe元素中,因此访问它们会违反相同的原始政策。这意味着您无法检测指向外部网址的iframe中的点击次数,因此无法完成。
答案 1 :(得分:2)
targetElement = $("#yourDivId").children()[0]
$(targetElement).click(function(){
alert("target element was clicked");
});
答案 2 :(得分:1)
如果我真的需要实现这样的目标,我会欺骗用户。
不要试图点击iframe,而是制作叠加div并将其放在iframe上方。将click事件附加到它,当单击div时,隐藏它。
它会让用户感觉他点击了链接,但它没有正常工作。第二次点击它已经有效,导致叠加被隐藏。
示例代码(仅供说明之用):
<html>
<style>
.test {
position : absolute;
top : 0;
left : 0;
width : 300;
height : 300;
z-index : 999;
filter : alpha(opacity = 0);
opacity : 0;
background-color:black;
}
</style>
<script>
function start(){
var div = document.getElementById("target");
var source = document.createElement("div");
source.className = "test";
document.body.appendChild(source);
var style = source.style;
var div2 = document.createElement("div");
document.body.appendChild(div2);
source.onclick = function(e){
style.display = "none";
div.onmouseout = function(){
div2.innerHTML = "mouseout";
style.display = "";
div.onmouseout = null;
}
div2.innerHTML = "clicked";
}
}
</script>
<body onload="start()">
<div id="target">
<iframe src="http://mail.ru" style="width:300;height:300"></iframe>
</div>
</div>
</html>