2013-05-01 21 views
7

sto scrivendo un codice JavaScript è proprio come questo:Touchend non sparato dopo touchmove su Android 4.x?

var el = document.getElementById('some-div'); 
    el.ontouchstart = function(e){ 
      el.innerHTML = "touch start"; 
    }; 
    el.ontouchend = function(e){ 
      el.innerHTML = "touch end"; 
    }; 
    el.ontouchmove = function(e){ 
      el.innerHTML = "touch moved"; 
    }; 

Questo codice funzionano bene su IOS/safair e 2.x.x Android. Su Android 4.x (ho provato 4.0.4 & 4.1), touchend non sparato dopo touchmove. Se tocco lo schermo, non muovo il dito, il touchend sarà sparato.

Come risolvere il problema?

Si tratta di un bug di Chrome, il dettaglio è qui: http://code.google.com/p/chromium/issues/detail?id=152913

risposta

2

Credo che se si chiama e.preventDefault() in TouchStart o TouchMove si fermerà l'evento viene assorbito prima che colpisca il vostro gestore ontouchend. Non ho un dispositivo qui per provarlo adesso però :)

Problemi correlati