2013-04-17 3 views
0

У меня вопрос о событии «touchstart». У меня есть кнопка, и я хочу прикоснуться к ней. Так что я сделал «touschstart» так:JavaScript touchstart

var button = document.getElementById('btn'); 
button.addEventListener('touchstart', function(){something}); 

Проблема заключается в том, что «touchstart» делает кнопка нажата только один раз. Я хочу, чтобы кнопка была «нажата» все время, когда пользователь все еще прикасается к ней. Как это сделать?

+0

Что именно вы пытаетесь сделать, пока кнопка удерживается нажатой? Если вы перетаскиваете что-то вокруг, вы можете использовать 'touchmove', если вы хотите сделать непрерывное действие, вы можете создать setInterval на' touchstart', а затем завершить его на 'touchhend'. – Snuffleupagus

ответ

1

Я считаю, что вам нужно использовать два события. И tocuhstart, и touchend.

var button = document.getElementById('btn'); 
button.addEventListener('touchstart', function(){// make the button pressed}); 
button.addEventListener('touchend', function(){// make the button unpressed}); 
+0

Это не работает. Он не продолжает состояние «нажатие». Он просто работает, как «нажмите» не нравится «нажмите кнопку мыши и удерживайте» – Amay

+1

Вы установите объект в состояние «нажата» в javascript этого события и удалите это «нажатое» состояние с javascript в событии up. Это не будет волшебством. Что вы считаете «нажатым» состоянием? – gbtimmon

+1

@gbtimmon life is not fun without magic :( – Goodwine