Jquery StopPropagation ne fonctionne pas sous firefox
J'ai ce code de travail sur Safari et Chrome , mais pas sous Firefox . Firefox est un problème avec StopPropagation() ?
$(function() {
//Setup drop down menu
$('.dropdown-toggle').dropdown();
//Fix input element click problem
$('.login-menu form').click(function(e) {
alert(e.isPropagationStopped());
e.stopPropagation();
alert(e.isPropagationStopped());
});
});
Ps : Même e.StopImmediatePropagation ne fonctionne pas !
OriginalL'auteur Karim Mortabit | 2012-09-23
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas comment votre code HTML ressemble mais
stopPropagation
fonctionne très bien dans FireFox.Je pense que vos attentes pourraient être incorrecte dans ce qu'il fait.
Selon la documentation de stopPropagation()
En supposant que le HTML comme ceci par exemple:
Ce code fonctionne très bien, l'événement de clic n'est pas remontée:
DÉMO - Travaux en FF - Ne fait pas de bulle d'événements
En commentaire la ligne
e.stopPropagation();
dans la DÉMO et comme prévu, l'événement est propagée, en montrant l'alerte de la mère.Qu'est-ce que votre comportement attendu?
Vous n'avez pas précisé ce qu'il est vous prévoyez d'arriver.
Si par exemple vous vous attendiez de l'action par défaut de l'événement de ne pas être déclenchée, vous pouvez utiliser preventDefault()
Si vous souhaitez couvrir à la fois, à en prévenir l'action par défaut et de prévenir les cas de remontée vous pouvez soit appeler ou simplement utiliser
return false
à la fin de votre méthode.Si vous pourriez préciser ce que c'est que vous essayez d'atteindre, nous pouvons être plus précis sur la suggestion d'une solution qui fonctionne pour vous.
Vous avez quelques erreurs sur votre site, le chargement de votre site est le suivant dans le navigateur de la console debugger:
GET http://www.spotmaroc.com/jquery.mCustomScrollbar.css 404 (Not Found)
etGET http://www.spotmaroc.com/boostrap.js 404 (Not Found)
etGET https://raw.github.com/twitter/bootstrap/2.0-wip/js/bootstrap-modal.js 404 (Not Found)
. Vous pourriez avoir besoin pour traiter de ces questions d'abord, sinon vous ne savez pas pourquoi votre bouton ne fonctionne pas.Cela a très bien fonctionné pour moi! M'a permis de prévenir les bulles dans Firefox (la problématique), ainsi que le Chrome.
OriginalL'auteur Nope
Je rencontre le même problème, et il fixe dès que j'ai réalisé, j'ai fait une couple de "distraction des erreurs", pourrait être utile à certains:
1) n'oubliez pas le "cas" argument:
La fonction qui est exécutée lorsque l'événement est déclenché (c'est à dire la fonction passée en argument $('.login-menu").cliquez sur() ) doit accepter un argument qui représente l'événement (par convention appelée "événement" ou " e " dans la plupart des tutoriels). Chrome vous permet d'oublier, alors que Firefox exige.
2) n'oubliez pas d'effacer le cache de Firefox (CTRL + F5):
Si, comme moi, vous désactivez le Chrome du cache pour le développement (outils -> Console Javascript -> options -> Désactiver le cache (alors que les DevTools) ), mais ne faites pas la même dans Firefox (parce que c'est un peu plus délicat à faire, et je suis paresseux), n'oubliez pas de recharger votre page à l'aide de CTRL + F5
Il fonctionne maintenant comme un charme, pour moi...
OriginalL'auteur swK
Cela a fonctionné pour moi (sur tous les navigateurs, si oui ou non un événement peut être passé), je suis en utilisant google marqueurs de carte, et n'a pas été en mesure de passer à un événement de la méthode:
OriginalL'auteur Marika
stopPropagation
est utilisé pour l'arrêt d'un événement de déclenchement sur les éléments parents.Voir http://jsfiddle.net/Accus/2/ pour un exemple sur la façon dont il fonctionne.
HTML:
JS:
Grâce Petah , mais cela ne fonctionne pas pour moi. En fait j'ai seulement eu un problème sur Firefox .. et je suis vraiment nouveau dans les DOM architecture de sorte qu'il peut vraiment m'aider. Merci Quand Même. Vous pouvez vérifier sur le site si ça peut vous aider à m'aider 🙂 lien
quelle version de Firefox?
Plus tard , 15.0.1 ..
bien sa fonctionne très bien pour moi. Si vous ne nous disent pas toute l'histoire, ou vous disposez d'un bug bizarre dans votre navigateur.
OriginalL'auteur Petah