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ď č. 1queue
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]);