2012-07-02 20 views
5

Próbuję dowiedzieć się, jak ustawić argumenty dla niestandardowych zdarzeń. W jaki sposób mogę ustawić argument podczas subskrybowania zdarzenia, a następnie dodać dodatkowe dane po wywołaniu zdarzenia.jQuery dane niestandardowe zdarzeń (subskrybuj i wyzwalacz)

Mam prosty JS do testowania, ale w parametrze "uchwyt" widzę tylko dane subskrybowania.

function handle(e) { 
    //e.data has only "b" 
    alert(e.data); 
} 

function myObj() { 
    this.raise = function() { 
      //Trigger 
     $(this).trigger("custom", { a: "a" }); 
    } 
} 

var inst = new myObj(); 
//Subscribe 
$(inst).bind("custom", { b: "b" }, handle); 
inst.raise(); 

Dziękuję.

+0

Tylko podpowiedź. Alarmowanie tutaj da ci "' [Obiekt obiektu] także [obiekt obiektu] '' '. Używając '' 'console.log (e.data, 'również', triggerParam)' '' wyświetli rzeczywiste obiekty w twojej konsoli przeglądarki; – PHearst

Odpowiedz

5

Parametry dostarczone do .trigger() są przekazywane jako drugi parametr funkcji obsługi zdarzeń.

function handle(e, triggerParam) { 
    //e.data has only "b" 
    alert(e.data + ' also ' + triggerParam); 
} 
+0

Ah dzięki :) Brakowało mi tego w tutorialach jQuery ... Jeszcze raz dziękuję :) –

Powiązane problemy