取消当前的触摸事件,直到下一次触摸开始

Posted

技术标签:

【中文标题】取消当前的触摸事件,直到下一次触摸开始【英文标题】:Cancel current touch events until next touchstart 【发布时间】:2016-01-25 06:35:30 【问题描述】:

我必须使用 javascript 模拟长按。

var timer;

$(element).on('touchend',function(e)

 clearTimeout(timer);


);

 $(element).on('touchstart',function(e)

  timer=setTimeout(function()
    
        //some action
    ,1000);

    return true;

);

当触发显示上下文菜单的操作时,如果手指被抬起,那么在 touchend 事件中,上下文菜单会隐藏。我想避免这种情况。我想取消所有触摸事件,直到下一次触摸开始 我该怎么办。 问题只在ios

【问题讨论】:

【参考方案1】:

嗯,您尝试清除队列了吗? 也许使用.stop() 清除或.clearQueue()

参考:https://api.jquery.com/clearQueue/

参考:https://api.jquery.com/queue/

参考:https://api.jquery.com/stop/

【讨论】:

以上是关于取消当前的触摸事件,直到下一次触摸开始的主要内容,如果未能解决你的问题,请参考以下文章

如何避免 Touches 取消事件?

在 UIButton 上实现触摸取消

Corona 中的触摸事件何时有“取消”阶段?

查询当前屏幕上的触摸次数而不使用 iPhone 上的事件

JS触摸事件

允许触摸表格单元格以取消其他当前触摸