键盘事件,想要控制两种效果。一种是长按事件即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。
谁有比较好的解决方案?
ibeautiful
相关分类