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"); });