ontouchstart и ontouchend в jquery?
в настоящее время я использую следующее для каждого элемента, который я хочу изменить класс on touch:
ontouchstart="$(this).addClass('select');" ontouchend="$(this).removeClass('select');"
мне было интересно, есть ли что-то подобное?:
$("#element").touchstart(function(){
$(this).addClass('select');
},
function(){
$(this).removeClass('select');
});
что я смогу перечислить все элементы, которые я хочу иметь это свойство. Я пробовал так много вещей и не могу заставить его работать.
4 ответов
Я закончил тем, что просто использовал это:
$('#nav li').bind('touchstart', function(){
$(this).addClass('select');
}).bind('touchend', function(){
$(this).removeClass('select');
});
без JQUERY:
element.addEventListener('touchstart',function(e) {
e.currentTarget.className = "select";
});
С JQUERY
$('#nav li').on('touchstart', function(){
$(this).addClass('select');
}
На самом деле, На () получить лучшую производительность, чем bind (), проверьте документация
Я думаю, вам нужно использовать jQuery Mobile. У него есть некоторые нормализованные события, которые, вполне возможно, вам нужны. Вот список специальных событий из ссылки API jQuery Mobile:ссылка.
вы заботитесь о тех, кто:
vmousedown
Normalized event for handling touchstart or mousedown eventsvmousemove
Normalized event for handling touchmove or mousemove eventsvmouseup
Normalized event for handling touchend or mouseup events
почему бы вам не использовать :hover псевдо-класс для этого? Мне кажется, что это временное изменение правил CSS nav_li элемент.