检测对包含Javascript的DIV元素的点击?

检测对包含Javascript的DIV元素的点击?,javascript,dom,adsense,Javascript,Dom,Adsense,如何检测从触发的javascript点击? 例如,我在一个页面上的3个不同的中有3个adSense广告,我想在点击广告时检测并触发一个操作 当为空或使用任何其他元素时,很容易检测到点击;但是如何检测adSense广告的点击(代码)?据我所知,adSense广告加载在iframe元素中,因此访问它们将违反同源策略。这意味着您无法在指向外部URL的iframe中检测到点击,因此无法执行此操作。据我所知,Adsense广告加载在iframe元素中,因此访问它们将违反同一来源策略。这意味着您无法在指向外

如何检测从
触发的javascript点击?
例如,我在一个页面上的3个不同的
中有3个adSense广告,我想在点击广告时检测并触发一个操作


为空或使用任何其他元素时,很容易检测到点击;但是如何检测adSense广告的点击(代码)?

据我所知,adSense广告加载在iframe元素中,因此访问它们将违反同源策略。这意味着您无法在指向外部URL的iframe中检测到点击,因此无法执行此操作。

据我所知,Adsense广告加载在iframe元素中,因此访问它们将违反同一来源策略。这意味着您无法在指向外部URL的iframe中检测到单击,因此无法执行此操作。

您是否使用了类似jQuery的框架?如果是这样,您可以将单击处理程序添加到div的子级:

targetElement = $("#yourDivId").children()[0]
$(targetElement).click(function(){
    alert("target element was clicked");
});

您是否使用jQuery之类的框架?如果是这样,您可以将单击处理程序添加到div的子级:

targetElement = $("#yourDivId").children()[0]
$(targetElement).click(function(){
    alert("target element was clicked");
});

如果我真的需要实现这样的目标,我会欺骗用户一点

不要试图点击iframe,而是制作一个覆盖div并将其放置在iframe之上。将click事件附加到它,并在单击div时隐藏它

这会让用户感觉他点击了链接,但它没有正常工作。他第二次单击时,它将已经工作,因为覆盖是隐藏的

示例代码(仅用于解释):


.测试{
位置:绝对位置;
排名:0;
左:0;
宽度:300;
身高:300;
z指数:999;
过滤器:alpha(不透明度=0);
不透明度:0;
背景色:黑色;
}
函数start(){
var div=document.getElementById(“目标”);
var source=document.createElement(“div”);
source.className=“测试”;
document.body.appendChild(来源);
var style=source.style;
var div2=document.createElement(“div”);
文件.正文.附件(第2部分);
source.onclick=函数(e){
style.display=“无”;
div.onmouseout=函数(){
div2.innerHTML=“mouseout”;
style.display=“”;
div.onmouseout=null;
}
div2.innerHTML=“单击”;
}
}

如果我真的需要实现这样的目标,我会欺骗用户一点

不要试图点击iframe,而是制作一个覆盖div并将其放置在iframe之上。将click事件附加到它,并在单击div时隐藏它

这会让用户感觉他点击了链接,但它没有正常工作。他第二次单击时,它将已经工作,因为覆盖是隐藏的

示例代码(仅用于解释):


.测试{
位置:绝对位置;
排名:0;
左:0;
宽度:300;
身高:300;
z指数:999;
过滤器:alpha(不透明度=0);
不透明度:0;
背景色:黑色;
}
函数start(){
var div=document.getElementById(“目标”);
var source=document.createElement(“div”);
source.className=“测试”;
document.body.appendChild(来源);
var style=source.style;
var div2=document.createElement(“div”);
文件.正文.附件(第2部分);
source.onclick=函数(e){
style.display=“无”;
div.onmouseout=函数(){
div2.innerHTML=“mouseout”;
style.display=“”;
div.onmouseout=null;
}
div2.innerHTML=“单击”;
}
}

安迪的观点很好。如果内容来自外部域(在iframe中),由于同源策略,这将不起作用。好的,如果没有其他使用jQuery的方法,我将尝试使用您展示的方法。总之,我想简单一点,那么没有jQuery有什么办法可以尝试吗?有趣的是,Adsense/iframe广告没有太大用处,但看起来它可以用来跟踪注入javascript的内联广告,比如Infolinks。Andy说得对。如果内容来自外部域(在iframe中),由于同源策略,这将不起作用。好的,如果没有其他使用jQuery的方法,我将尝试使用您展示的方法。总之,我想简单一点,那么没有jQuery有什么办法可以尝试吗?有趣的是,Adsense/iframe广告没有多大用处,但看起来它可以用来跟踪注入javascript的内联广告,比如Infolinks。你确定吗?你把我弄糊涂了。我不会碰adsense代码,这看起来像:。。。。。。。adsense JavaScript在这里。。。。。。这是违反adsense TOS的吗?我很确定。它们出现在iFrame中的全部原因是为了防止宿主页面访问链接,而只是将用户引导到这些链接。通过在页面上包含它们,你给了页面所有者太多的控制权,而在iframe中,控制权保留在谷歌。我不确定是否要修改Adsense代码,但很可能会违反TOS。你确定吗?你把我弄糊涂了。我不会碰adsense代码,这看起来像:。。。。。。。adsense JavaScript在这里。。。。。。这是违反adsense TOS的吗?我很确定。它们出现在iFrame中的全部原因是为了防止宿主页面访问链接,而只是将用户引导到这些链接。通过在页面上包含它们,您给了页面所有者太多的控制权,而在