onClick ne fonctionne pas sur mobile (tactile)

Ok, ce que j'essaie de faire est de glisser une div lorsque l'utilisateur clique sur un élément de liste.

Le problème est que J'utilise Selectric https://github.com/lcdsantos/jQuery-Selectric {[5] } qui convertit une zone de sélection en une liste non ordonnée. Ainsi, lorsque l'utilisateur clique sur un que la source produit en tant qu'élément de liste, je veux qu'un div glisse vers le bas.

Sur mobile safari (iOS7), l'interface utilisateur selectbox est la même que l'interface utilisateur selectbox standard.

Quelle est la meilleure pratique en matière de onClick pour mobile appareils?

JQuery de base:

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

Vous pouvez voir un exemple de travail ici (Recherche Avancée sur la barre latérale)

Merci.

23
demandé sur Dale 2014-02-25 17:40:21

2 réponses

Préférable d'utiliser touchstart événement .on() méthode jQuery:

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

Et je ne comprends pas pourquoi vous utilisez la méthode $(window).load() car elle attend que tout soit chargé sur une page, cela a tendance à être lent, alors que vous pouvez utiliser la méthode $(document).ready() qui n'attend pas que chaque élément de la page soit chargé en premier.

64
répondu Jai 2014-02-25 13:47:16

Vous pouvez utiliser à la place de click:

$('#whatever').on('touchstart click', function(){ /* do something... */ });
6
répondu Ram Patidar 2014-02-25 13:42:55