在Twitter Bootstrap中使用tap事件

时间:2012-08-31 12:09:57

标签: jquery events jquery-mobile twitter-bootstrap touch

我使用twitter-bootstrap开发可以在多个设备上呈现的Web应用程序。

现在我想处理'tap'事件。所以我的问题是:

  1. 我可以使用jquery 1.7.2处理'tap'事件而不使用jqueryMobile吗?
  2. 如果上述问题的答案为否,那么如何将jqueryMobile与twitter-bootstrap集成。因为我尝试在我的twitter-bootstrap页面中包含jQueryMobile js,当我使用它时,页面中断!!

2 个答案:

答案 0 :(得分:5)

点击事件是一个jQuery Mobile事件,并不是具有规范的实际HTML5事件。 HTML5 specifies touch eventssupported on Android and iOS,Twitter Bootstrap已经在其某些插件中使用了这些事件。

然而,根据一个常识概念,点击事件可能是什么,人们可以根据一系列触摸事件轻松触发它们。这是一个尝试:

// listen for a touchstart event
$('body').on('touchstart.tap',function (e) {

  // listen for a touchend event
  $(e.target).one('touchend.tap',function() {
    $(e.target).trigger('tap');
  });

  // cancel it in 150ms
  setTimeout(function () {
    $(e.target).off('touchend.tap');
  },150);
});

如果 touchend 在150ms内跟随 touchstart (当然您可以调整),则会触发点击事件。如果点击事件就是你所追求的,你可以尝试使用它来代替包含jQuery mobile。

答案 1 :(得分:2)

我终于点击了处理触摸及其相应鼠标事件的Touchable-jQuery-Plugin