我正在使用与 jQuery Mobile 1.1.1 捆绑在一起的 Phonegap 开发一个 iOS 应用程序。我的页面上有一个 div 正在监听 tap 和 taphold 事件。
我面临的问题是,一旦我抬起手指,tap 事件就会在 taphold 事件之后触发。我该如何防止这种情况? 提供解决方案here但这是唯一的方法吗?如果您需要使用 bool 标志来区分这两个事件,那么有点抵消了点击和点击保持两个不同事件的全部意义。
以下是我的代码:
$('#pageOne').live('pageshow', function(event) {
$('#divOne').bind('taphold', function (event) {
console.log("TAP HOLD!!");
});
$('#divOne').bind('tap', function () {
console.log("TAPPED!!");
});
});
非常感谢您的帮助。谢谢!
最佳答案
只需将其设置在文档顶部或定义事件之前的任何位置即可:
$.event.special.tap.emitTapOnTaphold = false;
然后你可以像这样使用它:
$('#button').on('tap',function(){
console.log('tap!');
}).on('taphold',function(){
console.log('taphold!');
});
关于events - taphold jQuery Mobile 1.1.1 后触发的 tap 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759049/