8

私は現在、タッチのクラスを変更したいすべての要素に以下を使用しています。

ontouchstart="$(this).addClass('select');" ontouchend="$(this).removeClass('select');"

私はこのようなものがあるかどうか疑問に思っていましたか?:

$("#element").touchstart(function(){
    $(this).addClass('select');
},
function(){
   $(this).removeClass('select');
});

このプロパティが必要なすべての要素を一覧表示できるようになります。私は非常に多くのことを試みましたが、それを機能させることができません。

4

4 に答える 4

18

私はこれを使用することになりました:

$('#nav li').bind('touchstart', function(){
    $(this).addClass('select');
}).bind('touchend', function(){
    $(this).removeClass('select');
});
于 2012-09-09T16:19:55.147 に答える
14

JQUERYなし:

element.addEventListener('touchstart',function(e) {
 e.currentTarget.className = "select";
});

JQUERYで

$('#nav ul li a').on('touchstart', function(){
    $(this).addClass('select');
});

実際、on()はbind()よりもパフォーマンスが優れています。ドキュメントを確認してください

于 2014-04-14T16:11:58.277 に答える
1

jQueryMobileを使用する必要があると思います。正規化されたイベントがいくつかありますが、これはおそらく必要なものです。jQuery MobileのAPIリファレンスからの特別なイベントのリストは次のとおりです:littlelink

あなたはそれらを気にします:

vmousedown

Normalized event for handling touchstart or mousedown events

vmousemove

Normalized event for handling touchmove or mousemove events

vmouseup

Normalized event for handling touchend or mouseup events
于 2012-09-09T14:29:20.813 に答える
0

:hoverこれに疑似クラスを使ってみませんか?nav_liこれは、要素のCSSルールの一時的な変更であるように思われます。

于 2013-01-25T22:26:53.703 に答える