2013-02-12 13 views
6

Czy ktoś może mi powiedzieć, dlaczego event touchenter nie działa w tym kodzie. Mouseenter działa dobrze na pulpicie. Powinno być tak proste, ale czegoś mi brakuje.Zdarzenie touchenter nie jest wywoływane

Przykład tutaj - http://jsfiddle.net/gCEqH/6/

Pełny kod poniżej:

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    </head> 

    <body> 
     <img id="myImg" src="http://jackiehutchings.com/wp-content/uploads/2011/09/g-plus-icon-96x96.png" />   

     <script> 
      $(window).load(function() { 
      $('#myImg').on("touchenter mouseenter", function(event){ 
       alert('entered!'); 
      }); 
     }); 
     </script> 
    </body> 
</html> 
+0

Czy jesteś pewien, że działa na mnie w systemie Windows Phone? Jaka przeglądarka? – enginefree

+0

Nie działa na telefonie z Androidem lub iPadzie. Przez telefon próbowałem zarówno standardowej przeglądarki, jak i Opery. – Justin

+0

działa dobrze dla mnie w ipad. działa dobrze, kiedy ty na nim. szukasz myszki w kontakcie? – karthik

Odpowiedz

0

Może coś jak to będzie działać?

var elementIdTouching = ""; 
$('body').on("touchmove", function(e){ 
    var tList = e.touches; // get list of all touches 
    for (var i = 0; i < tList.length; i++) { 
     var thisTouch = tList[i]; // not 100% sure about this 
     var elementTouching = document.elementFromPoint( 
      thisTouch.screenX, 
      thisTouch.screenY 
     ); 
     if (elementTouching.id != elementIdTouching) { 
      elementIdTouching = elementTouching.id; 
      if (elementTouching.id == "myImg") { 
       alert("entered!"); 
      } 
     } 
    } 
}).on("touchend", function(e){ 
    elementIdTouching = ""; 
}); 
$('#myImg').on("mouseenter", function(e){ 
    alert('entered!'); 
}); 

TList ~ https://developer.mozilla.org/en-US/docs/Web/API/TouchList

Zastrzeżenie: Nie testowałem tego.

+0

To podejście działa, ale działa bardzo wolno. Wpadłem jednak na obejście problemu. (zobacz moje komentarze powyżej). – Justin

+0

Zgodnie z trybem quirks, 'clientX' i' clientY' będą lepszym wyborem niż 'screenX' i' screenY': http://www.quirksmode.org/dom/w3c_cssom.html#t20 – Webthusiast

Powiązane problemy