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

Javascript 如何区分滚动事件和长按事件?,javascript,mobile,dom-events,Javascript,Mobile,Dom Events,问题: SomeDomElement.addEventListener('touchstart', function preventLongPress(event) { if (event.touches.length >=1) event.preventDefault(); }, false); 如果我使用:If(event.touchs.length>=1)event.preventDe

问题:

SomeDomElement.addEventListener('touchstart', function preventLongPress(event) {
              
                  if (event.touches.length >=1) event.preventDefault();
                }, false);
如果我使用:
If(event.touchs.length>=1)event.preventDefault()则这将防止长按事件,但也会禁用滚动事件

长按不存在
touchmove
touchend
事件

我想要的:

SomeDomElement.addEventListener('touchstart', function preventLongPress(event) {
              
                  if (event.touches.length >=1) event.preventDefault();
                }, false);
防止长按,但不防止滚动


N注意:我只使用香草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 */
});