Недавно я добавил jquery.mouse2touch.min. .js к моей игре, и после его тестирования я столкнулся с проблемой. Моя система движения состоит из двух div (один для перемещения игрока влево и один для перемещения его вправо), в основном, когда вы нажимаете и удерживаете div, игрок должен двигаться в одном направлении, а когда вы отпускаете, он должен останавливаться. Проблема в том, что если я нажимаю слишком долго, а затем отпускаю, проигрыватель не останавливается.
Вот код, который заставляет его двигаться:
// iControl System
var $div = $('#character');
$('#ios-left').mousedown(function(){
leftTimer = setInterval(function(){
processWalk('left');
},100);
}).mouseup(function(){
$('#character').stop();
clearInterval(leftTimer);
}).mouse2touch();
$('#ios-right').mousedown(function(){
rightTimer = setInterval(function(){
processWalk('right');
},100);
}).mouseup(function(){
$('#character').stop();
clearInterval(rightTimer);
}).mouse2touch();
и скрипка: http://jsfiddle.net/gqfesrhw/
Спасибо (также, если кто-то думает, что это может быть проблема с плагином mouse2touch, я буду открыт для других предложений)
.mouse2touch()
call сопоставляет события мыши с событиями касания. Это не должно навредить вашей функциональности. Чтобы проверить поведение, работает ли оно без вызова плагина? Я только что проверил поведение вашей скрипки в хроме, кажется, она работает. Будьте конкретны в вопросе, чтобы вы могли принять правильную помощь. В каком браузере вы тестируете? - person Koti Panga   schedule 17.11.2014