Gar*_*hop 6 html javascript mouse touch pointer-events
我正在构建一个应该与鼠标或触摸一起使用的界面。由于各种身体问题,我的用户可能难以达到他们想要的目标。
指针事件似乎对此很完美,但我得到了不同的行为。
我想知道指针何时进入和离开目标,以及何时按下。使用鼠标,如果我在目标 T1 上按下鼠标按钮并移动(同时按住按钮)到目标 T2,我会得到指针悬停 T1、指针向下 T1、指针悬停 T1、指针悬停 T2、指针悬停 T2。正是我所期望的。
通过触摸屏,我得到:指针悬停 T1、指针悬停 T1、指针悬停 T1。没有任何迹象表明我从一个目标转移到另一个目标。
如何使触摸行为更像鼠标?
这是在 Linux Ubuntu 上的 Chrome 99 上。
Gar*_*hop 12
答案是如果目标已捕获指针,则调用releasePointerCapture 。
div.addEventListener('pointerdown', function(e) {
if (e.target.hasPointerCapture(e.pointerId)) {
e.target.releasePointerCapture(e.pointerId);
}
}
Run Code Online (Sandbox Code Playgroud)
然后触摸的行为就像鼠标一样。