2012-08-31 37 views
6

我正在使用twitter-bootstrap開發可在多個設備上呈現的Web應用程序。在Twitter上使用tap事件引導

現在我想處理'tap'事件。所以我的問題是:

  1. 我可以使用jquery 1.7.2處理'tap'事件而不使用jqueryMobile嗎?
  2. 如果上述問題的答案是否定的,那麼如何將jqueryMobile與twitter-bootstrap集成。因爲我嘗試在我的twitter-bootstrap頁面中包含jQueryMobile js,當我使用它時,頁面打破了!
+0

你可以發佈你的破碎的代碼? – cspolton

回答

5

tap event是一個jQuery Mobile事件,並不是一個具有規範的實際HTML5事件。 HTML5 specifies touch events,它們是supported 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遵循touchstart內150毫秒(可以調整,當然,)這將觸發一個自來水事件。您可以嘗試使用此代替包含jQuery手機,如果水龍頭事件是你所有。