events - taphold jQuery Mobile 1.1.1 后触发的 tap 事件

标签 events jquery-mobile cordova

我正在使用与 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/

相关文章:

jquery - 在 JqueryMobile 上没有背景滚动的弹出窗口

javascript - iOS 如何访问 CSS Url 中的库?

asp.net - ASP.NET Gridview 控件中事件的触发顺序是什么?

c# - .net 中引发事件的死锁

jquery - 在 jquery mobile 中向左滑动和向右滑动时触发两次?

javascript - JQuery 移动表单在第一次查看后丢失格式

ios - 如何让 ChildBrowser 打开所有 PDF 文件

node.js - Ionic - 未安装 Cordova CLI

c# - 你如何控制 C# 中的事件触发?

java - 在面板上移动一个矩形