我目前正在使用以下内容来处理我想要更改触摸类的每个元素:
ontouchstart="$(this).addClass('select');" ontouchend="$(this).removeClass('select');"
我想知道是否有这样的事情?:
$("#element").touchstart(function(){
$(this).addClass('select');
},
function(){
$(this).removeClass('select');
});
我可以列出我想要拥有此属性的所有元素。我已经尝试了很多东西,无法让它发挥作用。
答案 0 :(得分:15)
我最终只是使用了这个:
$('#nav li').bind('touchstart', function(){
$(this).addClass('select');
}).bind('touchend', function(){
$(this).removeClass('select');
});
答案 1 :(得分:11)
没有JQUERY:
element.addEventListener('touchstart',function(e) {
e.currentTarget.className = "select";
});
使用JQUERY
$('#nav ul li a').on('touchstart', function(){
$(this).addClass('select');
});
实际上,on()获得比bind()更好的性能,请检查documentation
答案 2 :(得分: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
答案 3 :(得分:0)
为什么不为此使用:hover
伪类?在我看来,这是nav_li
元素的CSS规则的临时更改。