当前位置:  开发笔记 > 编程语言 > 正文

mouseover有时会触发而不是touchstart - 为什么?

如何解决《mouseover有时会触发而不是touchstart-为什么?》经验,为你挑选了0个好方法。

我发现了一个非常奇怪的行为,我无法解释.想要做以下事情:

处理程序需要对一个touchstart 一个mouseover事件作出反应,具体取决于输入设备的类型.请注意,我想支持混合设备(鼠标和触摸屏),我不能依赖指针事件.

现在,我只是设置了两个touchstartmouseover事件.在大多数情况下,它的工作正常.还用于preventDefault禁止触摸事件后触发的模拟"鼠标"事件.但是对我来说完全令人困惑的是,有时会mouseover发生一个事件,如果我删除了preventDefault,它甚至可能mouseover会触发而不是 a touchstart.为什么哦为什么会这样?

此外,Android和iOS都可以重现!虽然它似乎更容易用Android触发(使用Chrome).

我准备了一个小测试盒,所以你可以尝试自己.请注意,只有在红色DIV(具有事件)和背景之间的边界上的某个位置点击时,才会触发此行为.只需点击中心即可100%工作.在发生这种情况之前,您可能需要或多或少的尝试.

任何帮助非常感谢!





  Touchtest
  



  

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有