Code:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$("#clicker").click(function () {
alert("Hello!");
$(".hide_div").hide();
});
</script>
Le code ci-dessus ne fonctionne pas. Lorsque je clique sur #clicker, cela n'alerte pas et ne se cache pas. J'ai vérifié la console et je n'obtiens aucune erreur. J'ai également vérifié si JQuery était en cours de chargement et c'est effectivement le cas. Je ne sais donc pas quel est le problème. J'ai également fait une fonction de document prêt avec une alerte et cela a fonctionné, donc je ne sais pas ce que je fais de mal. Veuillez aider. Merci!
javascript
jquery
onclick
click
onclicklistener
Starbucks
la source
la source
Réponses:
Vous êtes censé ajouter le code javascript dans un
$(document).ready(function() {});
bloc.c'est à dire
Comme l' indique la documentation de jQuery : «Une page ne peut pas être manipulée en toute sécurité tant que le document n'est pas« prêt ». JQuery détecte cet état de préparation pour vous. Le code inclus à l'intérieur
$( document ).ready()
ne s'exécutera que lorsque la page Document Object Model (DOM) sera prête pour JavaScript code à exécuter "la source
.on()
marche. Vous pouvez (facultativement) l'utiliser pour créer des gestionnaires délégués, mais dans tous les cas, il ne «gratte pas la page», il lie un écouteur aux éléments spécifiques de l'objet jQuery sur lequel vous l'appelez.J'ai trouvé la meilleure solution à ce problème en utilisant ON avec $ (document).
pour id commencez par voir ci-dessous:
enfin après 1 semaine je n'ai pas besoin d'ajouter onclick triger. J'espère que cela aidera beaucoup de gens
la source
Votre code peut fonctionner sans document.ready (), assurez-vous simplement que votre script est après le #clicker. Découvrez cette démo: http://jsbin.com/aPAsaZo/1/
L'idée dans le concept prêt. Si vous êtes sûr que votre script est la dernière chose de votre page ou qu'il se trouve après l'élément concerné, cela fonctionnera.
Remarquer: dans lejsbindémo remplacer
http
parhttps
là dans le code, ou utiliser cette variante Démola source
document.ready()
fonction.Vous devez envelopper votre code Javascript avec
$(document).ready(function(){});
Look this JSfiddle .Code JS:
la source
Essayez d'ajouter
$(document).ready(function(){
au début de votre script, puis});
. En outre, est-cediv
que l'ID contient correctement, c'est-à-dire en tant qu'identifiant, pas en tant que classe, etc.?la source
Assurez-vous qu'il n'y a rien sur votre bouton (comme un div ou une img transparente) qui empêche de cliquer sur le bouton. Cela semble stupide, mais parfois nous pensons que jQuery ne fonctionne pas et tout ce qui se trame et le problème est sur le positionnement des éléments DOM.
la source
Vous pouvez utiliser
$(function(){ // code });
qui est exécuté lorsque le document est prêt à exécuter le code à l'intérieur de ce bloc.la source
Juste une vérification rapide, si vous utilisez un moteur de création de modèles côté client tel que le guidon, votre js se chargera après document.ready, il n'y aura donc aucun élément auquel lier l'événement, donc utilisez le gestionnaire onclick ou utilisez-le sur le corps et vérifier la cible actuelle
la source