N'jQuery événement mouseup travail sur les appareils tactiles?
Je ne pouvais pas trouver la réponse donc je pose la question ici. Actuellement je ne possède pas tout les appareils tactiles, donc je ne peux pas le tester.
Le code suivant permet de masquer toutes les sous-conteneurs dans un récipient si vous cliquez à l'extérieur de l'il.
$(document).mouseup(function(e) {
var container = $('#container');
if (!container.is(e.target) //if the target of the click isn't the container...
&& container.has(e.target).length === 0) //... nor a descendant of the container
{
$('.subcontainer').hide();
}
});
Cela fonctionne sur les appareils tactiles ou il n'y a aucun équivalent de mouseup
pour les appareils tactiles?
Vous devez vous connecter pour publier un commentaire.
Non, il ne fonctionne pas. Mais ici, c'est un
touchstart
ettouchend
événement.body
sera plus rapide, car#container
est un enfant debody
🙂Apporter ce fil à jour (c'est à dire en 2019), note que jQuery obsolète
'lier' a partir de la version 3.
Aujourd'hui, quand j'ai d'abord testé un "pouce-curseur" (c'est à dire l'élément d'entrée, type= "gamme")
sur Android, il a échoué, parce que mon cas-fonctions nommé seulement mousemove et
et mouseup, respectivement.
J'ai simplement changé à:
$('#sliderID').sur('touchmove mousemove', function(event){ ... }
et
$('#sliderID').sur('touchend mouseup', function(event){ ... }
et maintenant, l'application fonctionne aussi bien sur PC(Windows 10) et Android(v7.1)
Ma version jQuery est 3.3.1.
(Ce sont les deux seules les plates-formes que j'ai à ma disposition pour le test, mais je suis convaincu que cela fonctionne dans tous les principaux navigateurs. J'ai été couronnés de succès sur Chrome, Opera, Firefox, et Edge-sur-Win10)