我正在使用twitter引导程序开发一个可以在多个设备上渲染的web应用程序。
现在我想处理"tap"事件。所以我的问题是:
- 我可以在不使用jqueryMobile的情况下使用jquery1.7.2处理"tap"事件吗
- 如果上面问题的答案是否定的,那么我该如何将jqueryMobile与twitter引导程序集成。因为我试着在我的twitter引导页面中包含jQueryMobilejs,当我使用它时,页面会崩溃
tap事件是一个jQuery Mobile事件,而不是一个有规范的实际HTML5事件。HTML5指定touch事件,这在Android和iOS上都受支持,Twitter Bootstrap已经在其一些插件中使用了这些事件。
然而,根据tap事件可能是什么的常识概念,可以很容易地根据触摸事件序列触发它们。试试看:
// 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);
});
如果触摸结束在150ms内跟随接触开始,这将触发点击事件(当然,您可以调整)。如果您想要的只是点击事件,那么您可以尝试使用它来代替包含jQuery mobile。
我终于找到了Touchable jQuery插件,它可以处理触摸和相应的鼠标事件。