/ /デリゲートイベントリスナ(.on())の設定にコールバックを添付することは可能ですか? - javascript、jquery

委任されたイベントリスナ(.on())の設定にコールバックを付けることは可能ですか? - javascript、jquery

基本的に、委任されたクリックイベントリスナーを受け取るために要素を選択するためにクラスを使いたいです。しかし、その直後にクラスを削除したいと思います。

これは私が念頭に置いていたものです:

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

自分がやろうとしていることは明らかだと思いますが、よくわかりません」 queue このようなことでさえうまくいきます。私は「jQueryにあまり精通していませんが、それを自由に使用する他の誰かのコードに取り組んでいます。前もって感謝します。

言い換えれば、私はチェーンの終わりにコールバックをタックするための一般的な方法を探していると思います。

回答:

回答№1は1

queue 機能はに依存します dequeue コール。できるだけ早くクラスを削除する必要がある場合は、指定されたファイル内でそれを実行する必要があります。 click[name] 関数ハンドラ

また、 jQuery:同じイベントに対して複数のハンドラ

ハンドラはバインドされた順番で実行されます。

jQueryイベントモデルでは1つの要素に対して複数のハンドラを使用できるため、 したがって、後のハンドラが古いハンドラを上書きすることはありません。

次のようなことができます。

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]);