Dans le Navigateur Android lien n'exécute pas toujours onClick causant de se concentrer à la place

Je suis en train de programmer un très standard JS comportement d'un lien à l'aide d'un HREF
onClick gestionnaire, et je suis confronté à un problème étrange causée par ce que je crois être focus/mode tactile comportement sur Android.

Parfois, quand je clique sur le lien, au lieu de l'exécution de l'action, il devient tout simplement choisi/concentré, avec juste un rectangle de focus ou même aussi avec un rempli rectangle de focus (sélectionné par opposition à juste concentré?).

Le pseudo-code de droit est maintenant

<a href="#" onClick="toggleDivBelowToShowHide(); return false;">go</a>

J'ai essayé de faire quelque chose comme:

<a href="#" onTouchStart="toggleDivBelowToShowHide(); return false;">go</a>

Mais j'ai toujours le même problème agaçant de temps en temps.

  • Afin de clarifier certaines découvertes récentes: je peux certainement dire que il ne fonctionne PAS lorsque l'élément a le focus rectangle et que je clique sur un élément. Dans ce cas, l'élément devient alors "sélectionné" (brièvement pleinement s'allume en bleu) et seulement cela au lieu de faire de l'action. Est-il quelque chose comme "onSelect"?
  • Comme dans, exécute automatiquement votre fonction lorsque sa concentré?
  • Eh bien, il semble être déjà concentré à ce point... j'ai envie à l'utilisateur de simplement être en mesure de cliquer sur l'élément et de l'étendre. Il ressemble à +/- élargissement de l'élément.
  • Le lien est concentré/sélectionné? Ou peut-être juste une partie du texte du lien? (Peut être un peu difficile de tester avec juste "go".) Comme: si je clique légèrement à droite de votre nom ci-dessus, puis faites-la glisser vers la gauche, je sélectionne le texte de votre nom, lettre par lettre.
  • J'ai aussi ce problème - parfois, android ne veut tout simplement pas à suivre les liens. Dans mon application, cependant, ceci peut être corrigé si je supprime tous les preventDefault() gestionnaires... Qui, malheureusement, les sauts de l'application un peu, mais au moins les liens de travail?
  • Je peux contourner ce - la surcharge des évènements touchstart et touchend à feu simulé mousedown / mouseup événements provoque les liens de recevoir ceux-ci, et si un peu de logique, ont été ajoutés à touchend aussi le feu d'un événement de clic, cela devrait fonctionner.

InformationsquelleAutor Artem | 2010-02-02