touchend-event in ios webkit nicht feuern?

Ich versuche, die Umsetzung eines Menüs für ein ios-webkit-basierte Anwendung, in der der Benutzer berührt/Klicks und hält die Menü-Taste ('.menu_item'), nach 500ms das sub-Menü öffnet sich (div.slide_up_sub_menu), und ein Benutzer sollte in der Lage sein, um den finger/die Maus bis zu einem Untermenü li Element und release.

    <li class="menu_item">
       ASSET MANAGEMENT
       <div class="slide_up_sub_menu hidden_menu">
         <ul class="submenu">
           <li>Unified Naming Convention</li>
           <li>Version Control</li>
         </ul>
       </div>
    </li>

Die Anwendung sollte dann in der Lage sein zu ermitteln, in welchem Untermenü das touchend - /mouseup-Ereignis passiert ist. Ich bin verbindlich, ein touchstart-event auf den Menüpunkt, warten für 500ms, und hinterher zu sagen das Untermenü zu zeigen. Wenn ein Nutzer stellt den finger ein touchend-Ereignis auslösen soll schließen Sie das Untermenü. Wenn der Benutzer aufgehört hat, Ihre Note auf ein Untermenü, sollte es erkannt werden. Derzeit Detektion von denen Untermenüpunkt ein mouseup-Ereignis passiert ist, funktioniert in Safari auf dem desktop:

$('ul.submenu li').live('mouseup', function(e){
   console.log($(e.currentTarget)); //works on the desktop
});

aber wenn ich das gleiche tun mit einem touchend-handler es funktioniert nicht auf einem ipad:

$('ul.submenu li').live('touchend', function(e){
   console.log($(e.currentTarget)); //never fires
});

wenn ich für jeden touchend-event bekomme ich eine Referenz auf das parent-sub-menu-item, wenn ich am Ende die Note auf ein Untermenü:

$(document.body).bind('touchend', function(e) {
    console.log($(e.target).html()); //logs ASSET MANAGEMENT
 });

aber keine Referenz auf das Untermenü.

Hat jemand eine Idee, warum ein touchend-Ereignis nicht ausgelöst wird, auf die Untermenüpunkte?

Dank

InformationsquelleAutor Craig | 2011-10-07
Schreibe einen Kommentar