6

twitter-bootstrap を使用して、複数のデバイスでレンダリングできる Web アプリケーションを開発しています。

次に、「タップ」イベントを処理したいと思います。ここでの私の質問は次のとおりです。

  1. jqueryMobile を使用せずに jquery 1.7.2 を使用して「タップ」イベントを処理できますか?
  2. 上記の質問に対する答えが「いいえ」の場合、jqueryMobile を twitter-bootstrap と統合するにはどうすればよいですか。Twitter-bootstrap ページに jQueryMobile js を含めようとしたところ、それを使用するとページが壊れてしまいました。
4

2 に答える 2

5

タップイベントはjQuery Mobile イベントであり、仕様を持つ実際の HTML5 イベントではありません。HTML5 では、Android と 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 モバイルを含める代わりにこれを使用してみてください。

于 2012-08-31T15:46:35.137 に答える
2

最後に、タッチとそれに対応するマウス イベントを処理するTouchable-jQuery-Pluginにたどり着きました。

于 2012-09-13T11:54:48.980 に答える