2012-09-18 5 views
0

J'essaie de créer un composant sur une page Web qui répond à un événement hover lorsqu'il est exécuté sur un navigateur (par exemple sur un bureau) où se produisent des événements hover. Toutefois, lorsque vous affichez cette page sur un navigateur sans événement de survol (tel qu'un iPad), un clic est nécessaire pour activer le comportement que vous obtiendriez en survolant.Répondre à un vol stationnaire lorsque disponible, mais toucher lorsqu'il n'y a pas de vol stationnaire

Je sais que WebKit fait des choses bizarres pour traduire les événements tactiles en événements hover afin que les menus contextuels basés sur hover fonctionnent, donc une option serait de ne rien faire. Mais je préférerais avoir un peu plus de contrôle à ce sujet, d'autant plus que je pense que l'événement hover/touch pourrait exposer un lien hypertexte que je voudrais ensuite cliquer ou toucher une seconde fois.

SOMMAIRE Bureau: survolez pour afficher les détails, puis cliquez pour suivre le lien. iPad: touchez pour afficher les détails, puis touchez à nouveau pour suivre le lien.

Y a-t-il des modèles connus ou des techniques que les gens ont utilisé pour accomplir quelque chose comme ça? Avec ou sans jQuery est très bien ...

+1

Découvrez: http://stackoverflow.com/questions/5985430/different-methods-based-on-modernizr-click-vs-hover – Mahn

Répondre

0

http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript/ ce lien peut vous aider à

si vous wana aller avec l'approche traditionnelle, vous pouvez le faire en réglant le drapeau de jeu de drapeau onhover executetouch = false qui est déjà vrai et quand toucher feu d'événement vérifier si ce drapeau est vrai ou faux et faire en conséquence