IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Vote des utilisateurs
1 
0 
Détails
Licence : Libre
Mise en ligne le 25 février 2019
Plate-formes : Android, iOS, Linux, Mac, Windows, Windows Phone
Langue : Français
Référencé dans
Navigation

Gérer les événements desktop mobile sans se soucier du device

A force de devoir gérer du multi device, je me suis fait un mini script qui me permet d'appliquer le bon événement quand j'en demande un.
plus besion de faire if(mobile) { /* evenement du touch */ } else { /* evenement du click */ }

Le script se divise en deux parties.
1) Récupération du type (mobile/desktop/autre).
2) L'associassion les événements que l'on souhaite.
Nos ressources disponibles
getDeviceType() permet de savoir si l'on est sur tablette, mobile ou desktop.
On peut lui passer un paramètre (optionnel) pour tester en même temps un device en particulier.

getDeviceType() retournera 'tablet', 'mobile' ou 'desktop'.
getDeviceType('desktop') retournera vrai ou faux.

Pour être plus clair dans le code, on peut ajouter des fonctions intermediaires plus explicites (par exemple : isMobile() retournera vrai ou faux).

Enfin, dans userEvents, on paramètre chaque événement que l'on doit gérer en fonction du device (dans mon exemple je ne gère que mobile et desktop).

Pour l'usage :

element.addEventListener(userEvents.click, uneFunction.bind(element), userEvents.opts);

Et pour utiliser le clientX/Y :
Code : Sélectionner tout
1
2
let top = userEvents.clientY(e);
let left = userEvents.clientX(e);
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.