Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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 在图像上移动鼠标时单击事件不触发_Javascript_Html_Google Chrome_Onclick - Fatal编程技术网

Javascript 在图像上移动鼠标时单击事件不触发

Javascript 在图像上移动鼠标时单击事件不触发,javascript,html,google-chrome,onclick,Javascript,Html,Google Chrome,Onclick,我遇到过这样一个问题,在图像上有一个onclick事件,但是当鼠标在mousedown和mouseup事件之间移动时,它不会被触发 我有一个图像,我想有一个onlick事件。我也不希望任何人拖动/选择或打开关联菜单。 现在我发现,在触摸屏上,50%的人点击某个图像时,当他们按下图像时,他们的手指会移动。所以mousedown和mouseup事件之间有一个微小的区别。但当他们这样做时,点击事件不会被触发(至少在chrome中是这样)。此外,onmouseup事件也不会被激发 看看这个: 单击图像将

我遇到过这样一个问题,在图像上有一个onclick事件,但是当鼠标在mousedown和mouseup事件之间移动时,它不会被触发

我有一个图像,我想有一个onlick事件。我也不希望任何人拖动/选择或打开关联菜单。 现在我发现,在触摸屏上,50%的人点击某个图像时,当他们按下图像时,他们的手指会移动。所以mousedown和mouseup事件之间有一个微小的区别。但当他们这样做时,点击事件不会被触发(至少在chrome中是这样)。此外,onmouseup事件也不会被激发

看看这个:

单击图像将显示警报和鼠标上下事件,但当u单击并用鼠标移动超过3个像素左右时,不会触发单击和鼠标上下事件。另外,如果单击鼠标并将其移动1个像素,则会触发mousedown事件和onclick事件,但不会触发mouseup事件。这是一个bug还是我遗漏了什么?

这看起来像是一个chrome bug。 发生这种情况是因为您正在阻止拖动事件,该事件不应链接到单击事件

解决方法: 您可以通过在chrome中设置
draggable=“false”
属性来防止拖动,但FF不支持。因此,为了支持FF,您仍然需要防止事件发生

var img1=document.images[0];
img1.ondragstart=e=>e.preventDefault();
img1.onclick=e=>console.log('clicked first');
//为了证明这是chrome中的问题:
var img2=document.images[1];
img2.ondragstart=e=>e.preventDefault();
img2.onclick=e=>console.log('clicked second')
/*CSS可以阻止选择*/
img{
-webkit用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
用户选择:无;
}

在这里您将得到答案。
onmouseUp=“document.getElementById('mouseDown').style.display='block';”
可能是您的问题,当您将Id更改为正确的
'mouseUp'
它工作正常!