键盘事件,想要控制两种效果。一种是长按事件即longTap事件,长按数字键盘750ms再显示数字,另一种效果是直接点击即touchend事件无延迟显示结果。阻止事件冒泡行不通,于是想通过触发一个事件时取消另一个事件监听,然后通过异步来重新监听事件处理函数,这样每次点击之间就互不影响。但是这样行不通。重新监听事件处理函数并没有起到效果。而且有个很奇怪的点是: $('#keyBox').on('touchend' , 'a' , function(e) { e.preventDefault(); e.stopPropagation(); keyboardEvent(e); }); $('#keyBox').on('longTap' , 'a' , function(e) { keyboardEvent(e); return false; }); 直接这样写会同时执行两个事件,直接点击松开会先触发touchend,然后大概有750ms延迟就触发第二个事件。这都不是长按啊,为什么会执行longTap?长按的话就先触发longTap然后再触发touchend。谁有比较好的解决方案?
1 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
添加回答
举报
0/150
提交
取消