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

我认为您需要使用jQuery Mobile。它有一些标准化事件,这很可能是您需要的。下面是来自 jQuery Mobile 的 API 参考的特殊事件列表:little link

你关心那些:

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 回答