Dans les appareils mobiles' safari, <a href=“#” onclick=“return false”> ne fonctionne pas, pourquoi?
Dans moblie de dispositifs de safari, comme l'iphone ou l'ipad, <a href="#" onclick="return false">
n'empêche pas le comportement par défaut, la page est toujours redirigé vers '#', pourquoi...?
Comme ces code html:
<div style="height:1000px; width:100px"></div>
<br />
<a href="#" onclick="return false">click me</a>
Lors d'un clic dans moblie de dispositifs de safari, il va revenir en haut de la page...
onclick="javascript:return false;" ?
avez-vous vérifiez la façon dont les choses fonctionnent sur un navigateur de bureau? Je suppose qu'il a quelque chose à faire avec le contact contre les événements de la souris.
Au lieu de "onclick" vous pouvez donner un essai à "onkeyup", "onmouseup" ou "onkeypress"
Pourquoi l'ajout d'un label de l'aide? Il n'y a pas de boucle de break ou continue.
keyup, mouseup serait bizarre...
avez-vous vérifiez la façon dont les choses fonctionnent sur un navigateur de bureau? Je suppose qu'il a quelque chose à faire avec le contact contre les événements de la souris.
Au lieu de "onclick" vous pouvez donner un essai à "onkeyup", "onmouseup" ou "onkeypress"
Pourquoi l'ajout d'un label de l'aide? Il n'y a pas de boucle de break ou continue.
keyup, mouseup serait bizarre...
OriginalL'auteur skyworm | 2012-04-19
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème. Il s'avère que c'est un bug dans iOS 5 version de Safari. Ne se produit pas dans les nouvelles ou les anciennes versions, ou tout autre navigateur ou de plate-forme.
Je l'ai résolu en ajoutant
preventDefault
pour le gestionnaire d'événements onclick, en plus de l'existantreturn false
, comme suit:Pas idéal, mais il n'résoudre le problème.
OriginalL'auteur SDC
J'ai juste un peu eu le même problème avec mes liens ne fonctionne pas correctement sur mon ami de l'iPhone. J'ai supprimé le
href="#"
de la mienne, et que les boutons fonctionnent parfaitement bien, sauf que j'ai mes boutons définie un peu différemment que vous avec le JavaScript.La façon dont je l'ai mis en haut est comme ce
Puis-je déclencher les images que je veux à apparaître avec
Je ne sais pas comment vous avez vous mis en place, mais de supprimer le
href="#"
avec cette mise en place a fonctionné sur le mien.OriginalL'auteur Optiq
Semble être difficile. J'ai testé avec ce code:
Ce qui se passe est que lorsque j'actualise la page sur iPhone et appuyez sur pour la première fois que je reçois:
Chaque côté du robinet-je obtenir:
Assez drôle, cela fonctionne uniquement lorsque le code contient les alertes. Si pas d'alertes à l'intérieur du code, le défilement se passe à chaque fois que je tape....
Pour assurer qu'il y a un peu de magie avec hrefs dans le navigateur safari mobile, vous pouvez le voir, lorsque vous maintenez le lien (sans lever le doigt): Une "fiche action" s'affiche ("copier", "ouvrir", "ouvrir dans ..." etc.) avant un événement est déclenché.
OriginalL'auteur Kai Huppmann
Fait, j'ai essayé avec
et il fonctionne bien
OriginalL'auteur kschaeffler
Pourquoi pas? Je pense que, vous devez appeler une fonction et pas seulement return false...
Le
onclick
attribut s'attend à ce code JavaScript plutôt qu'une URL. Ainsijavascript:
est juste redondant (mais au moins il ne va pas faire une erreur de syntaxe car c'est un code valide).OriginalL'auteur Tobi
Tout d'abord, essayez ceci:
en js:
Ensuite(si la première variante ne fonctionnera pas):
en js:
Aussi loin que je me souvienne, l'une de ces variantes résolu le même problème, lorsque je l'ai eu.
La première variante est beaucoup mieux, parce que vous n'avez pas de mélange de html et de javascript
OriginalL'auteur Yauhen Vasileusky
Fondamentalement, je suis allé avec une solution similaire, mais sauvegardé un peu plus avec certains conditionnelle vérification ... c'est basé sur jQuery et utilisé pour la connexion à Sitefinity.
Je n'ai trouver que l'utilisation de l'événement.preventDefault() causé un des problèmes similaires à commencer survenus dans certaines versions d'IE.
OriginalL'auteur rfornal