pointerup事件在Win Windows 8.1和Internet 11中不能正常工作。我的意思是,它是自动触发的(就在下线后),而不是当你的手指熄灭时。
我做了一个这里的例子。
如果您用桌面浏览器或Android-Chrome或iOS-Chrome/Safai进行测试,其工作正常。
有人想办法解决这个问题吗?
发布于 2016-03-17 01:43:49
你收到pointercancel事件了吗?
如果没有正确设置touch-action,则在pointerdown之后立即发送pointercancel。我认为这是因为浏览器认为已经启动了诸如滚动之类的操作。
为了避免这种情况,我们使用:
html.is-pointer-events .touch-grip {
-ms-touch-action: none;
touch-action: none;
}请注意,只有在使用Microsoft指针事件时才激活此规则,因为否则触摸操作属性会干扰其他浏览器(例如Chrome)。
如果is-pointer-events为true,则将navigator.msPointerEnabled添加到document.documentElement.className (即,当我们使用onpointerdown而不是ontouchstart时添加类)。如果您正在使用modernizr.js,那么看起来它提供了一个可以使用的pointerevents类。
除非您对它们有迫切的需求,而且您可以对其进行大量投资,否则我强烈建议您不要支持Microsoft指针事件。对我们来说,这对我们来说是一个昂贵的难题,而返回的价值对我们来说也是微不足道的。
https://stackoverflow.com/questions/28625604
复制相似问题