«Жест», который я пытаюсь захватить, - это крана, но только тогда, когда элемент (другой или тот же) уже коснулся его. Таким образом, сенсорный (1) нажимает кнопку вниз, а сенсорный (2) отбирает выбранные параметры, прикасается (1) релизы и кнопка нажата.Mobile Safari - событие «touchhend» не срабатывает при удалении последнего касания?
Проблема, с которой я столкнулся, - это последний бит. Событие «коснуться» не срабатывает, когда я отпускаю последний палец? Значит, у меня нет способа подавить кнопку?
..также событие «touchhend» всегда имеет касание.length = 0?
Вот какой-то код, чтобы вы могли видеть, что я имею в виду. Я думаю, что это может быть ошибка в мобильном сафари?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Multi-touch problem</title>
<style>
#touchpane{
width:900px;
height:500px;
background-color:#333;
}
</style>
</head>
<body>
<div id="touchpane" click="void();"></div>
<script>
var tp = document.getElementById("touchpane");
tp.addEventListener('touchstart', function(e){
e.preventDefault();// to stop copy and paste
console.log("touchstart " + e.touches.length);
}, false)
tp.addEventListener('touchend', function(e){
console.log("touchend " + e.touches.length);
// not called when last finger removed?
}, false)
tp.addEventListener('touchcancel', function(e){
console.log("touchcancel");
}, false)
</script>
</body>
</html>
Обязательно укажите свою версию ОС. Это работает как ожидалось для меня в 3.1.3 (iPod touch первого поколения): «touchstart 1», «touchstart 2», «touchhend 1», «touchhend 0». –
Конечно, извините. 3.2.1 на iPad. Это и некоторые другие, похоже, были исправлены в 4.2 –