87 votes

Passage de paramètres sur JQuery .trigger

J'utilise le déclencheur JQuery mais je ne suis pas sûr de la syntaxe correcte pour passer des paramètres dans ma situation. Voici où je fais l'appel :

$('#'+controlName).trigger(event);

C'est ici que je fais la liaison avec l'événement :

$(window).on('onPartialRendered', onPartialRendered);

Et voici mon gestionnaire d'événement :

var onPartialRendered = function () {

    .....
};

Tout fonctionne bien jusqu'à ce que j'essaie de passer des paramètres. Quelle serait la manière correcte de procéder selon mon exemple ?

164voto

Eraden Points 821

Le premier paramètre est toujours une chaîne de caractères avec le nom de l'événement et les paramètres suivants sont des données supplémentaires :

.trigger('foo', [1, 2]);

.on('foo', function(event, one, two) { ... });

Remerciements spéciaux pour Rocket Hazmat

Exemple :

var controller = {
  listen: function (event, json, string) {}
};

$('body').trigger('this_works', [{data: [1, 2, 3]}, 'something']);

$('body').on('this_works', function (event, json, string) {
  controller.listen(event, json, string);
});

Partiel à distance :

Veuillez ne pas utiliser cette méthode. Il existe de nombreux articles sur ce problème dans le réseau. Cela prend beaucoup de temps et génère un trafic inutile sur le réseau. Veuillez utiliser cette méthode :

var template = $('#templates #example_template').detach();
var clone = template.clone();
clone.find('.some_field').val('new_data');
clone.attr('id', null);
$('table tbody').append(clone);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X