/ / Un événement tactile ne fonctionne pas sur un ordinateur portable à écran tactile - jQuery

Événement tactile ne fonctionne pas sur un ordinateur portable à écran tactile - jQuery

J'ai mis un code simple pour un événement tactile et son fonctionnement fonctionne bien dans les appareils mobiles, mais ne fonctionne pas dans l'ordinateur portable à écran tactile.

$(document).ready(function(){
$(".navigation a").bind("touchstart",function(e){
alert("Touch start!");
});
});

Réponses:

0 pour la réponse № 1

Mise à jour: Consultez le projet PolyFill jQuery Pointer Events Polyfill qui vous permet de vous lier aux événements "pointeur" au lieu de choisir entre souris et toucher. https://github.com/jquery/PEP

Liez-les à tous les deux, mais créez un drapeau pour que la fonction ne soit déclenchée qu'une fois toutes les 100 ms environ.

var flag = false;
$thing.bind("touchstart click", function(){
if (!flag) {
flag = true;
setTimeout(function(){ flag = false; }, 100);
// do something
}

return false
});

0 pour la réponse № 2

Peut-être est l'écoute des événements de la souris. Vous pouvez ajouter une variable à votre événement et vérifier si ses fonctionnalités peuvent ou non reproduire des événements tactiles. Vous pouvez utiliser la bibliothèque javascript modernizr pour obtenir plus de précision dans cette tâche.

http://modernizr.com/

Permettez-moi de vous montrer un exemple:

 var clickEvent = undefined;
if (Modernizr.touch) {
clickEvent = "touchstart";
} else {
clickEvent = "click";
}
$(document).ready(function(){
$(".navigation a").bind(clickEvent,function(e){
alert("It works!")
});
});