La méthode jQuery.Click recharge la page

J’essaie de créer un div flottant qui apparaît lorsqu’un bouton est déclenché. Ce n’est pas difficile, mais lorsque j’appuie sur le bouton, la page se recharge automatiquement. Je ne sais pas pourquoi.

J’ai essayé d’utiliser Popover de Bootstrap, mais cela ne fonctionne pas comme prévu en raison de ce même problème. Lorsque le popover est déclenché, la page se recharge et le popover disparaît évidemment.

J’utilise RoR, en disant simplement au cas où cela serait utile pour découvrir le problème.

J’ai quelque chose comme ceci dans le bas du document:

Show  $(document).ready(function() { console.log("Page is loaded."); // Custom Popover $("#example").click(function() { console.log("Showing"); }); });  

La première fonction console.log dans ready est affichée lors du chargement de la page. Lorsque je déclenche le bouton “Afficher”, ce console.log apparaît à nouveau dans la console du navigateur. Et ça n’a aucun sens.

Merci!

Vous devez arrêter le comportement par défaut du lien à l’aide de preventDefault() :

 $("#example").click(function(e) { e.preventDefault(); console.log("Showing"); }); 

vous avez un problème, au lieu de class vous avez utilisé href

 Show 

Vous avez deux problèmes:

Vous définissez vos classes dans votre atsortingbut href au lieu de class

 Show 

Vous voudrez empêcher votre navigateur de suivre le href lorsque le lien est appelé:

 $("#example").click(function( e ) { e.preventDefault(); // don't follow href console.log("Showing"); }); 

Ici vous pouvez trouver un exemple pleinement fonctionnel. tester ici

 $(document).ready(function() { console.log("Page is loaded."); $("#example").click(function(e) { e.preventDefault(); alert("works"); }); 

});

Cela ne peut pas être, cela devrait bien fonctionner. Il doit y avoir un autre problème, veuillez remplir votre page entière.

  $(document).ready(function() { console.log("Page is loaded."); // Custom Popover $("#example").click(function() { console.log("Showing"); }); 

});

Vois ici

vous devez arrêter l’ancre pour faire sa fonction par défaut, le chargement de la page spécifie son href. Ce code devrait faire l’affaire:

 $("#example").click(function(event) { event.preventDefault(); console.log("Showing"); });