Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 touchstart和mousedown事件会同时触发?_Javascript_Jquery_Html_Css_Dom Events - Fatal编程技术网

为什么Javascript touchstart和mousedown事件会同时触发?

为什么Javascript touchstart和mousedown事件会同时触发?,javascript,jquery,html,css,dom-events,Javascript,Jquery,Html,Css,Dom Events,看看这把小提琴: 我在div元素上附加了两个事件,第一个是mousedown,第二个是touchstart 当点击触摸设备上的元素时,mousedown和touchstart都会被触发,我的期望只是触发相应的事件,即只需要从移动设备触发“touchstart”。请看一下这个 通常情况下,事件顺序为: 1) touchstart 2) touchmove 3) touchend 4) mousemove 5) mousedown 6) mouseup 7) 单击 当任何触摸事件被取消时,将不会调用

看看这把小提琴:

我在div元素上附加了两个事件,第一个是
mousedown
,第二个是
touchstart


当点击触摸设备上的元素时,
mousedown
touchstart
都会被触发,我的期望只是触发相应的事件,即只需要从移动设备触发“touchstart”。

请看一下这个

通常情况下,事件顺序为: 1)
touchstart
2)
touchmove
3)
touchend
4)
mousemove
5)
mousedown
6)
mouseup
7)
单击

当任何触摸事件被取消时,将不会调用鼠标事件。 即使发生触摸移动,鼠标事件也不会发生。
希望这有帮助:)

为什么不有条件地添加一个处理程序呢?移动浏览器会触发
鼠标向下
单击
。可以将事件分配给变量。使用Modernizer.js进行此操作。如果需要,请查看解决问题的方法。有关详细信息,请参阅。触摸设备将触发这两个事件