緑の 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は次のとおりです。
それを携帯電話にロードして実行します。4分の1をタッチすると赤くなります。画面に指を置いたまま、指を四分の一から別の四分の一にドラッグしてみてください。何も起こりません。私は何が欠けていますか?ありがとう!
更新: これは jgestures.js を使用した jsfiddle です。これを携帯電話にロードします。
http://jsfiddle.net/HdMgS/6/embedded/result/
そして、ある正方形から別の正方形に指をドラッグします。なぜそれらはすべて緑色にならないのですか?
更新: これは、推奨される他の SO スレッドからのキャプチャを使用した jsfiddle です。
正方形に触れると赤くなります。ただし、別の正方形にスワイプしても、addClass はトリガーされません。適切なイベントを見逃しているだけですか?