internet-explorer - IE/EDGE 上的 DOM 触摸事件而不是 mousedown

标签 internet-explorer events touch mouse microsoft-edge

我正在实现以下 js 代码来在 Canvas 上添加事件:

c.addEventListener("touchstart",function(e){console.log('touch')},true);
c.addEventListener("mousedown",function(e) {console.log("mouse")},true);

我的电脑是混合 Windows 10 平板电脑。 在 IE/EDGE 上,当我单击鼠标时,我会收到“鼠标”日志。 在 IE/EDGE 上,当我在屏幕上执行触摸操作时,我也会收到“鼠标”日志。

但是,在 IE/EDGE 移动版(Windows 手机)或 Chrome 上,当我触摸屏幕时,我会收到“触摸”日志。

我确信 IE/EDGE 在笔记本电脑上执行时会将“触摸”事件转换为“鼠标”事件。

是否有任何 JavaScript、元标记或任何选项来禁用此“翻译”?

注意。由于 PIXIJS 框架,我正在使用触摸和鼠标事件。

最佳答案

我正在笔记本电脑上的 EDGE 上处理触摸事件,您可以通过更改标志的某些设置来停止转换。将 about:flags 放入浏览器 URL 中。 田地下面有 “启用触摸事件”选择“仅在检测到触摸屏时启用”并在下面 “响应点击手势而触发兼容的鼠标事件” 选择“始终关闭” 如图所示

enter image description here

这将禁用您的自动翻译。重新启动浏览器,您将开始获取触摸事件。

关于internet-explorer - IE/EDGE 上的 DOM 触摸事件而不是 mousedown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32959256/

相关文章:

javascript - Impact 如何知道设备是台式机、手机、平板电脑等(任何设备)?

wpf - Windows 7 和 Windows 8 桌面 WPF 触摸和鼠标 LeftButtonDown 事件处理差异

html - 溢出-y 滚动在 IE 11 中不起作用

html - 如何在不在 vba 中创建 Internet Explorer 对象的情况下解析 html?

html - 将那个 ie6/7 错误命名为?

javascript - 同时点击2个元素?

jquery - 对象不支持属性或方法 'selectbox'

c# - 如何在 Windows 窗体应用程序中实现控件验证?

javascript - 第二次点击 jQuery

ios - Cocos2d 处理多层触摸