web-dev-qa-db-fra.com

Passer des paramètres pour cliquer sur l'événement () & bind () dans jQuery?

Je veux passer quelques paramètres à l'événement Click () dans jQuery, j'ai essayé de suivre mais ça ne marche pas,

commentbtn.click(function(id, name){
    alert(id);
});

Et aussi si nous utilisons bind alors comment nous allons le faire

commentbtn.bind('click', function(id, name){
    alert(id);
});

S'il vous plaît aider!

53
Prashant

voir event.data

commentbtn.bind('click', { id: '12', name: 'Chuck Norris' }, function(event) {
    var data = event.data;
    alert(data.id);
    alert(data.name);
});

Si vos données sont initialisées avant de lier l'événement, capturez-les simplement dans une fermeture.

// assuming id and name are defined in this scope
commentBtn.click(function() {
    alert(id), alert(name);
});
121
Anurag

D'où viendriez-vous ces valeurs? Si elles sont du bouton lui-même, vous pouvez simplement faire

commentbtn.click(function() {
   alert(this.id);
});

Si elles sont une variable dans la portée de la liaison, vous pouvez y accéder de sans

var id = 1;
commentbtn.click(function() {
   alert(id);
});

Si elles sont une variable dans l'étendue de la liaison, cela pourrait changer avant que le clic soit appelé, vous devrez créer une nouvelle fermeture

for(var i = 0; i < 5; i++) {
   $('#button'+i).click((function(id) {
      return function() {
         alert(id);
      };
   }(i)));
}
20
David Hedlund
var someParam = xxxxxxx;

commentbtn.click(function(){

    alert(someParam );
});
0
Jakub Konecki