首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 8.1 / IE11下的后期事件无法正常工作

Windows 8.1 / IE11下的后期事件无法正常工作
EN

Stack Overflow用户
提问于 2015-02-20 09:30:30
回答 1查看 534关注 0票数 1

pointerup事件在Win Windows 8.1和Internet 11中不能正常工作。我的意思是,它是自动触发的(就在下线后),而不是当你的手指熄灭时。

我做了一个这里的例子

如果您用桌面浏览器或Android-Chrome或iOS-Chrome/Safai进行测试,其工作正常。

有人想办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-17 01:43:49

你收到pointercancel事件了吗?

如果没有正确设置touch-action,则在pointerdown之后立即发送pointercancel。我认为这是因为浏览器认为已经启动了诸如滚动之类的操作。

为了避免这种情况,我们使用:

代码语言:javascript
复制
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指针事件。对我们来说,这对我们来说是一个昂贵的难题,而返回的价值对我们来说也是微不足道的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28625604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档