Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用onclick属性的竞争条件_Javascript_Html_Onclick - Fatal编程技术网

Javascript 使用onclick属性的竞争条件

Javascript 使用onclick属性的竞争条件,javascript,html,onclick,Javascript,Html,Onclick,我试图在点击链接时调用下面的1x1像素(sact.atdmt.com)。它实际上只是返回一个1x1映像,但用于ping我们的服务器,并在这个实例中计算点击次数 <a href="http://www.google.com/" onclick="javascript:img1=new Image(); img1.src='http://sact.atdmt.com/action/adofat_ImageTest27_1'; img1.height='1'; img1.width='1'" ;

我试图在点击链接时调用下面的1x1像素(sact.atdmt.com)。它实际上只是返回一个1x1映像,但用于ping我们的服务器,并在这个实例中计算点击次数

<a href="http://www.google.com/" onclick="javascript:img1=new Image(); img1.src='http://sact.atdmt.com/action/adofat_ImageTest27_1'; img1.height='1'; img1.width='1'" ;="">test</a>

上面的代码只适用于IE。我不明白为什么它不适用于Chrome或Firefox。我认为存在某种竞争条件,在onclick函数执行更改之前,href被解析,但它只存在于这些浏览器中

这有什么解决办法吗


谢谢,

修复语法错误并添加
返回false

<a 
    href="http://www.google.com/" 
    onclick="javascript:img1=new Image(); img1.src='http://sact.atdmt.com/action/adofat_ImageTest27_1'; img1.height='1'; img1.width='1'; return false;"
>test</a>


顺便说一句,如果你没有显示图像,那么你不需要设置图像的高度/宽度

Ejay的回答很好,但我觉得有义务提及我通常远离onclick=。这是因为屏幕阅读器不会可靠地将onclick注册为实际的click事件

所以如果你有兴趣。。。这是一个安全的方法

JS HTML


<> >我希望这有帮助,并且您不考虑使用OnCase.p> 最后那是什么?对不起!这只是一个我没有捕捉到的小错误,但它不应该导致我前面提到的竞争条件。添加返回false如何帮助竞争条件?如果添加返回false,像素将触发,但按钮没有点击通过。。。。有什么想法吗?啊,你想点击来重定向。现在我了解你的比赛条件部分。将更新答案:)谢谢!如果你发现了什么,请告诉我:)我喜欢这种方法,但在进入登录页之前,我仍然很难让像素熄灭:(
function imageClickHandler(){
var img1;
var img1=new Image();
img1.src='http://sact.atdmt.com/action/adofat_ImageTest27_1';
img1.height='1';
img1.width='1';
}//end function

document.getElementByID("TheExampleLink").addEventListener("click",imageClickHandler,false);
<a href="http://www.google.com/" id="TheExampleLink">test</a>