如何区分滚动事件和长按事件?



问题:

SomeDomElement.addEventListener('touchstart', function preventLongPress(event) {

if (event.touches.length >=1) event.preventDefault();
}, false);

如果我使用 :if (event.touches.length >=1) event.preventDefault();那么这会阻止长按事件,但也禁用滚动事件。

长按没有touchmovetouchend事件。

我想要的:

防止长按,但不防止滚动

Note :我只使用原版 Javascript,没有 jQuery

希望这对您有所帮助。

document.addEventListener("touchstart", function(){
detectTap = false;
});
document.addEventListener("touchmove", function(){
detectTap = true;
});
document.addEventListener("touchend", function(){
if(detectTap)
alert("scrolled"); /* here add whatever functionality you wants */
else 
alert("long pressed"); /* here add whatever functionality you wants */
});

相关内容

  • 没有找到相关文章

最新更新