Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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 preventdefault和stoppropagation不使用pointermove_Javascript_Html5 Canvas_Pointer Events - Fatal编程技术网

Javascript preventdefault和stoppropagation不使用pointermove

Javascript preventdefault和stoppropagation不使用pointermove,javascript,html5-canvas,pointer-events,Javascript,Html5 Canvas,Pointer Events,我正在制作一个可以在HTML5画布中绘制的应用程序,但我不能在手机或平板电脑上绘制 按下时,我无法避免浏览器的本机滚动或chrome刷新 我在中创建了一个示例,您可以看到。要抑制默认UA行为,您需要将CSS属性touch action:none添加到canvas元素 touch action指定HTML元素是否以及如何响应手势。使用触摸操作:无未触发UA行为(例如拖动或缩放)。默认属性是touch action:auto,它允许触发所有UA行为。要抑制默认UA行为,需要将CSS属性touch a

我正在制作一个可以在HTML5
画布中绘制的应用程序,但我不能在手机或平板电脑上绘制

按下时,我无法避免浏览器的本机滚动或chrome刷新


我在中创建了一个示例,您可以看到。

要抑制默认UA行为,您需要将CSS属性
touch action:none
添加到canvas元素


touch action
指定HTML元素是否以及如何响应手势。使用
触摸操作:无
未触发UA行为(例如拖动或缩放)。默认属性是
touch action:auto
,它允许触发所有UA行为。

要抑制默认UA行为,需要将CSS属性
touch action:none
添加到画布元素


touch action
指定HTML元素是否以及如何响应手势。使用
触摸操作:无
未触发UA行为(例如拖动或缩放)。默认属性是
touch action:auto
,它允许触发所有UA行为。

这看起来像是一个真正的Chrome bug,我将使用您的示例代码报告它。如果您想在JavaScript中动态决定是否使用自己的代码处理pointerMove,而不是允许本机浏览器处理,那么在CSS中设置触摸动作并不是一个解决方案

如果将触摸操作设置为“无”,则本机浏览器处理将永远不会运行。相反,正如您所报告的,没有触摸动作设置(相当于默认的“自动”)将不起作用,因为Chrome忽略对pointerMove上preventDefault()的调用,仍然调用pointerCancel-这是一个bug


请注意,如果您使用passive:false标志为touchMove添加了一个侦听器,那么preventDefault()将按预期工作,从而避免touchCancel。但是,您必须使用单独的鼠标事件和触摸事件监听器,这是您试图通过使用指针事件来避免的。

这看起来像是一个真正的Chrome bug,我将使用您的示例代码报告它。如果您想在JavaScript中动态决定是否使用自己的代码处理pointerMove,而不是允许本机浏览器处理,那么在CSS中设置触摸动作并不是一个解决方案

如果将触摸操作设置为“无”,则本机浏览器处理将永远不会运行。相反,正如您所报告的,没有触摸动作设置(相当于默认的“自动”)将不起作用,因为Chrome忽略对pointerMove上preventDefault()的调用,仍然调用pointerCancel-这是一个bug


请注意,如果您使用passive:false标志为touchMove添加了一个侦听器,那么preventDefault()将按预期工作,从而避免touchCancel。但是,您必须使用单独的鼠标事件和触摸事件监听器,这是您试图通过使用指针事件来避免的。

请在问题本身而不是在第三方网站上提供所有相关代码。请在问题本身的中提供所有相关代码,不是在第三方网站上。这是否曾被报告为Chrome bug?如果是的话,你能把这个问题联系起来吗?这是否曾被报道为一个Chrome bug?如果是,你能把这个问题联系起来吗?