2009-10-09 5 views
0

J'ai une fonction:jQuery Binding Malheurs

function foo() { console.log('i run!'); } 

Et une liaison à un bouton:

$(function() { 
    $('#myButton').click(foo); 
}); 

Je suis presque positif que la console ne doit pas montrer «je cours! jusqu'à ce que le bouton soit cliqué. Je n'ai aucun autre #myButton s sur la page (j'ai déjà vérifié ceci), et pourtant foo continue à courir quand un autre bouton indépendant est cliqué. Il n'y a pas d'autres références à foo (encore une fois, forple vérifié).

Que pourrait-il se passer ici? Suis-je en faute?

+2

quelque chose non révélé par vos extraits se produit ... –

+1

Scott Evernden a tellement raison que non seulement j'ai voté pour le commentaire, mais que je suis en train de poster pour affirmer qu'il a raison. – eyelidlessness

+1

Je suis d'accord avec les commentaires ci-dessus. Voici mon commentaire pour réitérer à quel point ils sont corrects. :) –

Répondre

4

Vous vous n'êtes pas prêt de fermer le document bloc correctement, il manque une parenthèse de fermeture (et éventuellement un point-virgule), essayez:

$(function() { 
    $('#myButton').click(foo); 
}); 
+0

ehh ... bonne prise, mais je l'ai correct dans mon code ... désolé ... édité – Jason

+0

Y a-t-il quelque chose d'anormal dans # le balisage de myButton (par exemple, un «>» manquant). Le balisage cassé peut provoquer un comportement étrange. Peut-être coller votre code #myButton dans la question. Honnêtement, je ne peux pas penser à autre chose! – karim79