2014-02-25 16 views
21

Ok, was ich versuche zu tun ist ein div nach unten schieben, wenn der Benutzer ein Listenelement klickt.onClick funktioniert nicht auf Handy (Touch)

Problem ist, ich verwende Selectric https://github.com/lcdsantos/jQuery-Selectric, die eine Select-Box in eine ungeordnete Liste konvertiert. Wenn also der Benutzer auf ein Element klickt, das von der Quelle als Listenelement ausgegeben wird, sollte ein Div nach unten verschoben werden.

Auf mobilen Safari (iOS7) ist die Selectbox UI die gleiche wie die Standard-Selectbox UI.

Was ist die beste Vorgehensweise, wenn es um OnClick für mobile Geräte geht?

Grund jquery:

$(window).load(function() { 
     $('.List li').click(function() { 
      $('.Div').slideDown('500'); 
     }); 
    }); 

können Sie sehen, ein funktionsfähiges Beispiel HERE (erweiterte Suche auf der Seite bar)

Dank.

Antwort

56

besser touchstart Ereignis mit .on() jQuery-Methode zu verwenden:

$(window).load(function() { // better to use $(document).ready(function(){ 
    $('.List li').on('click touchstart', function() { 
     $('.Div').slideDown('500'); 
    }); 
}); 

Und ich verstehe nicht, warum Sie $(window).load() Methode verwenden, weil es für alles, was auf einer Seite wartet geladen werden, neigen dazu, diese langsam sein, während Sie $(document).ready() Methode verwenden können, die nicht auf jedes Element auf der Seite wartet zuerst geladen werden.

+2

Vielen Dank. Klappt wunderbar. – Dale

+0

überprüfen Sie, dass Sie nicht 2 Ereignisse ausgelöst haben, obwohl Sie sowohl Click als auch Touchstart verwenden. – landed

+0

@landed Ich denke, "Touchstart" funktioniert auf Touch-Geräten, so glaube ich nicht, dass es Probleme mit "Klick" auf Touch-Geräten geben würde. – Jai

6

können Sie statt Klick verwenden:

$('#whatever').on('touchstart click', function(){ /* do something... */ }); 
+4

Nur ein Hinweis: Dieser Code wird zweimal für ein Gerät ausgelöst, das beide Ereignisse ausgelöst hat oder in den Chrome-Dev-Tools, während Mobile die Ansicht emuliert – wick3d

Verwandte Themen