/ / Je možné pripojiť spätné volanie k nastaveniu delegovaného poslucháča udalostí (.on ())? - javascript, jquery

Je možné pripojiť spätné volanie k nastaveniu delegovaného poslucháča udalostí (.on ())? - javascript, jquery

V podstate chcem používať triedu na výber prvkov na prijímanie delegátov poslucháčov udalostí kliknutí. Ale chcem okamžite odstrániť triedu.

Toto som mal na mysli:

docSelector // $(window.document)
.on("click touchstart", btnSelector, click[name])
.queue(function() {
// remove class to prevent extra binding
$(btnSelector).removeClass(btnSelector);
});

Myslím, že by malo byť jasné, čo sa snažím robiť, ale nie som si istý queue dokonca pracuje pre tento druh vecí. Nie som veľmi dobre oboznámený s jQuery, ale pracujem na niečom inom kóde, ktorý ho používa liberálne. Vopred ďakujem.

Inými slovami, myslím, že hľadám všeobecnú metódu na spätné odoslanie spätného volania na konci reťazca.

odpovede:

1 pre odpoveď č. 1

queue funkcia závisí od dequeue zavolať. Ak potrebujete odstrániť triedu ASAP, mali by ste to urobiť v zadanom click[name] funkčný psovod.

tiež jQuery: viac ako jeden psovod pre rovnakú udalosť

Pracovníci budú vykonávať v poradí, v akom boli viazané.

Keďže model udalosti jQuery umožňuje viacerým ovládačom na jednom prvku, preto neskorší psovod neprepíše staršieho psovoda.

Môžete urobiť niečo ako:

docSelector // $(window.document)
//Is executed first
.on("click touchstart", btnSelector, function(){
// remove class to prevent extra binding
var classSel = ".jc-click-" + name;
$(classSel).removeClass(classSel);
})
//Is executed just after
.on("click touchstart", btnSelector, click[name]);