49 votes

jQuery événement.preventDefault() ne fonctionne pas sous Firefox (JSFiddle inclus)

C'est une sorte de semblable en double pour certains autres ici, mais je pense que je suis à l'aide d' event.preventDefault() correctement dans ce cas.

Voici un JSFiddle vous pouvez voir le code avec: http://jsfiddle.net/SeEw2/2/

Fondamentalement, cliquez sur le bouton "Soumettre".

Dans google Chrome: il ne se passe Rien - réponse correcte.

Dans Firefox: Page s'actualise, oh non!

Alors pourquoi est le recharger la page dans Firefox et pas de google Chrome? J'ai été Firebugging et pas d'erreurs venir en soit...

98voto

Shikiryu Points 6878

La variable event dans votre code n'est pas initialisé.

http://jsfiddle.net/SeEw2/4/

extrait :

 $('#ajaxsearch').click(function(event) {

        // Stop the Search input reloading the page by preventing its default action
        event.preventDefault();

9voto

Dartoxian Points 307

Ah j'ai eu un problème similaire dans le passé. Plutôt que de l'événement.preventDefault() essayer de passer l'événement:

    function ie8SafePreventEvent(e){
    if(e.preventDefault){ e.preventDefault()}
    else{e.stop()};

    e.returnValue = false;
    e.stopPropagation();        
}

Je sais qu'il dit IE, mais je n'ai jamais eu un problème avec elle depuis =]

1voto

Babiker Points 7214

Parce que votre ne passe pas de l'objet d'événement comme function(event), mais ma question est pourquoi même aller à travers tout cela, quand vous pouvez faire l' type="button" et onclick transmettre les valeurs? Pour l'essentiel, que ce que vous faites avec l'ensemble de ce processus.

1voto

CamelBlues Points 1014

Au lieu de chercher un événement de clic sur le bouton "soumettre", pourquoi ne pas utiliser le $(document).soumettre gestionnaire?

Aussi longtemps que vous avez "return false" à la fin de la gestionnaire, la page ne recharge pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X