0

マウスオーバー イベントとクリック イベントに問題があります。デスクトップ/ラップトップの Web ブラウザでは動作しますが、iPhone の Safari では動作しません。コードは次のとおりです。

<script type="text/javascript">
function tog(v){return v?'addClass':'removeClass';} 
$(document).on('input', '.clearable', function(){
$(this)[tog(this.value)]('x');
}).on('mousemove', '.x', function( e ){
$(this)[tog(this.offsetWidth-100 < e.clientX-this.getBoundingClientRect().left)]('onX');   
}).on('click', '.onX', function(){
$(this).removeClass('x onX').val('');
});
</script>

X は各検索フィールドに表示される明確なアイコンですが、iPhone では「クリック」できません。「mousemove」を touchmove に置き換えても機能しませんでした。残念ながら、私は jQuery Mobile プラグインを適応させることができませんでした。ありがとうございました!ハッピーハロー」

4

2 に答える 2

0

上で述べたように、iphone ブラウザー サファリにはマウスがないため、touchstart および touchmove イベントを使用する必要があります。

これをチェックしてください。firefox mobile と safari は同様の方法でタッチを処理することに注意してください。MDN のドキュメントは w3c のドキュメントよりも少し役に立ちます。

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Events/Touch_events

そしてW3cのドキュメント:

http://www.w3.org/TR/2013/REC-touch-events-20131010/

于 2013-11-01T22:39:14.497 に答える