Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.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
Don';t为触摸触发onclick-Javascript_Javascript_Android_Html_Touch - Fatal编程技术网

Don';t为触摸触发onclick-Javascript

Don';t为触摸触发onclick-Javascript,javascript,android,html,touch,Javascript,Android,Html,Touch,我正在编写一个基于画布的HTML5应用程序,支持鼠标和触摸。对于鼠标事件,我使用此函数: canvas.onmousedown = function (e) { .... } 对于触摸事件: canvas.ontouchstart = function (e) { .... } 单击事件工作正常,但在触摸输入时会触发两个事件 有没有办法防止触控输入触发点击事件?只有当触控启动事件不可用时,才尝试注册触控启动事件 if(!canvas.ontouchstart){ canvas.onmou

我正在编写一个基于画布的HTML5应用程序,支持鼠标和触摸。对于鼠标事件,我使用此函数:

canvas.onmousedown = function (e) { .... }
对于触摸事件:

canvas.ontouchstart = function (e) { .... }
单击事件工作正常,但在触摸输入时会触发两个事件


有没有办法防止触控输入触发点击事件?

只有当触控启动事件不可用时,才尝试注册触控启动事件

if(!canvas.ontouchstart){
  canvas.onmousedown = function (e) { .... }
}

中尝试
e.preventDefault()
e.stopPropagation()
。通常
e.stopPropagation()
不是推荐的方法,所以您也可以尝试下面回答的方法