Jquery cliquez sur l'événement à ne pas travailler sur l'appareil mobile
Je suis en train de faire le ci-dessous JSFiddle de travail pour les tablettes/mobiles (par exemple, "sur la touche" ainsi que "clic").
https://jsfiddle.net/lkw274/7zt1zL0g/87/
<div class="user-navigation">
<a class="mobile-menu-new" href=""><span></span>Menu</a>
</div>
$(document).ready(function() {
$(".user-navigation a.mobile-menu-new").click(function (e) {
e.preventDefault();
$(".user-navigation a.mobile-menu-new").toggleClass("current");
});
});
.current { background: #F00;}
Comportement attendu:
En cliquant sur "Menu", soit par le doigt ou cliqué avec la souris, l'arrière-plan est mis en surbrillance en rouge jusqu'à ce qu'il est cliqué à nouveau lorsque la classe doit être supprimé, suppression de l'arrière-plan rouge et de la retourner à son état d'origine.
Comportement actuel:
En cliquant sur "Menu", par le toucher sur mobile/tablette, le fond est de couleur rouge or la classe n'est pas supprimé lorsque "menu" est cliqué pour la deuxième fois.
Quelqu'un pourrait-il aider à comprendre comment ce code doit être modifié pour tablette/mobile?
J'ai essayé la solution dans le dessous de StackOverflow lien mais cela n'a pas de fonction sur cliquez une fois mis en œuvre.
document-cliquez-fonction-pour-touch-appareil
Merci d'avance.
- Code actuel semble fonctionner comme prévu sur mon iPhone. Une seule pensée: j'ai l'habitude de mettre
e.preventDefault()
à la fin de la fonction. Ne devrait pas faire une différence. - Question sans rapport, mais, pourquoi jQuery 1.6? pourquoi pas une version plus récente?
Vous devez vous connecter pour publier un commentaire.
Ressemble événement délégation est la façon de le faire puisque, lorsque vous modifiez l'élément cible, lier semble échouer.
Essayez les solutions suivantes (fonctionne sur mon iPhone/Chrome).
Veuillez noter que j'ai utilisé
.delegate
puisque vous semblez être à l'aide dejQuery 1.6
(selon votre violon) sinon, avecjQuery 1.7+
, vous pouvez utiliser.on
comme ci-dessous.ajouter le curseur:pointeur vers la propriété de votre classe et cela devrait fonctionner à trouver dans le mobile
bind
a été supprimée pouron
dans les plus récentes versions de jQuery.