Il "gesto" che sto cercando di catturare è un tap quando, ma solo quando un elemento (altro o uguale) ha già un tocco su di esso. Quindi, tocca (1) preme il pulsante mentre tocca (2) tocca le opzioni selezionate, tocca (1) rilasci e il pulsante è premuto.Safari mobile - evento "touchend" che non si attiva quando viene rimosso l'ultimo tocco?
Il problema che sto avendo è con l'ultimo bit. L'evento "touchend" non viene sparato quando rilascio l'ultimo dito? Quindi non ho modo di premere il pulsante?
..anche l'evento "touchend" ha sempre touch.lunghezza = 0?
Ecco un codice in modo da poter vedere cosa intendo. Penso che questo possa essere un bug nel safari mobile?
<!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>
Assicurarsi di includere la versione del sistema operativo. Funziona come previsto per me in 3.1.3 (first-gen iPod touch): "touchstart 1", "touchstart 2", "touchend 1", "touchend 0". –
Naturalmente mi dispiace. 3.2.1 sull'iPad. Questo e alcuni altri sembrano essere stati risolti in 4.2 –