基本的に、委任されたクリックイベントリスナーを受け取るために要素を選択するためにクラスを使いたいです。しかし、その直後にクラスを削除したいと思います。
これは私が念頭に置いていたものです:
docSelector // $(window.document)
.on("click touchstart", btnSelector, click[name])
.queue(function() {
// remove class to prevent extra binding
$(btnSelector).removeClass(btnSelector);
});
自分がやろうとしていることは明らかだと思いますが、よくわかりません」 queue
このようなことでさえうまくいきます。私は「jQueryにあまり精通していませんが、それを自由に使用する他の誰かのコードに取り組んでいます。前もって感謝します。
言い換えれば、私はチェーンの終わりにコールバックをタックするための一般的な方法を探していると思います。
回答:
回答№1は1queue
機能はに依存します dequeue
コール。できるだけ早くクラスを削除する必要がある場合は、指定されたファイル内でそれを実行する必要があります。 click[name]
関数ハンドラ
ハンドラはバインドされた順番で実行されます。
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]);