58 votes

Pouvez-vous définir event.data avec le déclencheur jquery

Avec jQuery .on() vous pouvez passer un paramètre facultatif pour définir les données de l'événement. Pouvez-vous également le faire avec un déclencheur?

20voto

Siva Charan Points 10518

Vous pouvez faire de cette façon : -

Exemple

   //Create a new jQuery.Event object without the "new" operator.
  var e = jQuery.Event("click");

  // trigger an artificial click event
  jQuery("body").trigger( e );

Vous pouvez également transmettre event.data avec la même approche. Référer cet objet d'événement

15voto

Dave Points 6065

C'est l'approche que j'ai adoptée.

 $('#foo').on('click', { init: false }, function(e, data) {
        data = data || e.data;
        console.log(data.init); // will be true in the trigger, and false in the click.
    })
    .trigger('click', { init: true });

4voto

Starx Points 38727

Je connais une solution de contournement que nous pouvons utiliser pour cela

 $("button").on("click", function(event) {
   event.data = $(this).data('events'); // get the data value 
   alert(event.data); //use your data as you want
});


//Now set the data value and trigger
$("button").data('events','youreventsvalue').trigger("click");

Voici une démo

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