0

緑の div でいっぱいのページがあります。

<div class="square">1</div>
<div class="square">2</div>
<div class="square">3</div>
<div class="square">4</div>

全画面を占めるようにスタイル設定:

* {font-family: sans-serif; margin: 0; padding: 0;}
html, body {height: 100%;}
.square { background: green; float: left; height: 50%; width: 50%;}
.touch {background: red;}

各 div をマウスで入力すると、「タッチ」のクラスが追加されます。

$(document).ready(function(){
  $('.square').bind('mouseenter', function(){
    $(this).addClass('touch');
  });
});

iPhone でページを表示しているときに、ページに触れると赤くなります (マウス入力時にクラスが追加されます)。ただし、指を別の div にドラッグしても、赤くなりません (mouseenter イベントはトリガーされません)。モバイル イベント プラグインを含め、見つけられるすべてのイベントを試しましたが、この効果を得る方法がわかりません。説明するjsfiddleは次のとおりです。

http://jsfiddle.net/HdMgS/3/

それを携帯電話にロードして実行します。4分の1をタッチすると赤くなります。画面に指を置いたまま、指を四分の一から別の四分の一にドラッグしてみてください。何も起こりません。私は何が欠けていますか?ありがとう!

更新: これは jgestures.js を使用した jsfiddle です。これを携帯電話にロードします。

http://jsfiddle.net/HdMgS/6/embedded/result/

そして、ある正方形から別の正方形に指をドラッグします。なぜそれらはすべて緑色にならないのですか?

更新: これは、推奨される他の SO スレッドからのキャプチャを使用した jsfiddle です。

http://jsfiddle.net/HdMgS/7/

正方形に触れると赤くなります。ただし、別の正方形にスワイプしても、addClass はトリガーされません。適切なイベントを見逃しているだけですか?

4

1 に答える 1

0

タッチスクリーン機能は、サポートするのに最適な機能です。モバイル デバイスが増加しているため、次の優れたライブラリのいずれかを試してください。

http://www.queness.com/post/11755/11-multi-touch-and-touch-events-javascript-libraries

私は jGestures が好きです:

  http://jgestures.codeplex.com

これは jQuery プラグインであり、非常に使いやすく、ジェスチャーがたくさんあります。

  jQuery('#swipe').bind('swipeone',eventHandler);
于 2013-01-15T19:57:50.357 に答える