it-swarm.com.de

onClick funktioniert nicht auf Mobilgeräten (Touch)

Ok, was ich versuche, ist ein Div nach unten zu schieben, wenn der Benutzer auf ein Listenelement klickt.

Problem ist, ich verwende Selectric https://github.com/lcdsantos/jQuery-Selectric , das eine Auswahlbox in eine ungeordnete Liste umwandelt. Wenn der Benutzer also auf ein Element klickt, das die Quelle als Listenelement ausgibt, soll ein Div nach unten rutschen.

Bei Mobile Safari (iOS7) entspricht die Selectbox-Benutzeroberfläche der Standard-Selectbox-Benutzeroberfläche.

Was ist die beste Vorgehensweise für onClick für mobile Geräte?

Grundlegende Abfrage:

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

Sie können ein funktionierendes Beispiel sehen HIER (Erweiterte Suche in der Seitenleiste)

Vielen Dank.

30
Dale

besser ist es, touchstart event mit der .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 die $(window).load() -Methode verwenden, da sie darauf wartet, dass alles auf einer Seite geladen wird. Dies ist in der Regel langsam, während Sie die $(document).ready() -Methode verwenden können, die dies tut Warten Sie nicht, bis jedes Element auf der Seite zuerst geladen wurde.

80
Jai

sie können anstelle von Klick verwenden:

$('#whatever').on('touchstart click', function(){ /* do something... */ });
8
Ram Patidar