La cartographie des événements de la souris par iPad Safari pour toucher les événements dans les images-cartes
Mon site web fait un large usage de l'image-maps. Les images sont des pages à partir d'un manuscrit médiéval. L'événement mouseOver de la ZONE de tags a une info-bulle attaché à elle, qui affiche un moderne typographiques de la transcription de l'ancien script pour la ligne, le curseur de la souris sur.
Je viens de vérifier mon site web sur l'iPad à l'Apple store. L'iPad est à de nombreux égards une joie à utiliser, cependant, je me pose des questions sur Apple cartographie de la souris événements au contact du doigt les événements. Apple avait surement une bonne raison pour faire les choses comme ils l'ont fait, mais leurs choix sembler contre-intuitif, et trop compliqué pour moi.
Plus précisément, l'iPad navigateur Safari était clairement de répondre à la fois à fingerDown et fingerTap, et de différentes façons. Quand j'ai puisé une zone de l'image-map, l'info-bulle câblé la souris sur l'événement de la ZONE de la balise a été affiché, et reste visible jusqu'à ce que j'ai puisé quelque part d'autre. Lorsque j'ai eu mon doigt appuyé sur une zone de l'image-map, la région a changé de couleur. Donc, si Safari iPad détecte un gestionnaire d'événements mouseOver, il exécute le code de pointage de la souris sur le cliquez|tapez sur et apparemment empêche l'événement "click" de la multiplication, de sorte que si vous aussi vous avez quelque chose de relié à l'événement click, il ne fonctionne pas? Est ce que le droit?
Mais plus important encore, pourquoi n'est-ce pas fingerDown l'iPad Safari homologue pour le passage de la souris? FingerDown semble plus probable candidat du Robinet lors de la cartographie de l'événement mouseOver. Je me serais attendu à des choses à être mappées dans le de cette façon:
MouseClick : FingerTap (i.e. finger down and then immediately up)
MouseOver : FingerDown (finger down and stays on the spot)
Si Apple avait traité fingerDown comme la contrepartie de la souris, puis l'info-bulle pourrait être affichée sur FingerDown et invisibles à nouveau sur fingerUp, qui serait la contrepartie de mouseOut.
Peut-être quelqu'un pourrait m'éclairer sur le processus de pensée qui a conduit Apple à ces souris tactile événement-mappings?
Grâce
source d'informationauteur Tim
Vous devez vous connecter pour publier un commentaire.
J'ai fait quelques recherches sur plus spécifiquement lorsque l'iPad feux de "survol" des événements versus ", cliquez sur" événements". Lorsque l'utilisateur clique n'importe où sur la page, le premier iPad déclenche un "survol" de l'événement, comme si l'utilisateur avait juste placé le curseur de la souris à cet endroit. Il déclenche également une "mouseout" de l'événement sur le dernier élément qui a le focus. Le navigateur puis, autant que je peux dire, vérifie si tous les changements pour les DOM s'est produite en raison d'un "survol" de rappel d'événement.
Si il y a eu une modification du DOM du navigateur ne se déclenche pas un événement "click". Si l'utilisateur appuie sur le même élément, une deuxième fois, le navigateur n'feu un événement "click", mais ne se déclenche pas un autre "survol" de l'événement.
Sur l'autre main, si une fois que l'utilisateur clique sur un élément pour la première fois et dans les DOM n'a pas changé après le "survol" de l'événement est terminé, alors le navigateur déclenche un événement "clic" sans attendre une seconde tape.
J'en ai trouvé quelques informations qui explique en partie le comportement décrit ci-dessus:
https://developer.apple.com/library/content/technotes/tn2010/tn2262/_index.html
Voir la section 5, en particulier.
Il semble que le tactile+hold est la "sélection" de l'image-carte de la zone. Le lien ci-dessus indique que l'utilisateur de sélectionner peut être désactivée, mais il ne dit pas ce qui se passe lorsque la touche+hold geste est utilisé sur un élément sur lequel l'utilisateur sélectionnez a été désactivé. Ce serait formidable si elle peut devenir l'équivalent du passage de la souris dans ces circonstances.