基本上,我想使用一个类来选择接收委托的click事件监听器的元素。但是我想在那之后立即删除课程。
这就是我的想法:
docSelector // $(window.document)
.on('click touchstart', btnSelector, click[name])
.queue(function() {
// remove class to prevent extra binding
$(btnSelector).removeClass(btnSelector);
});
我认为应该清楚我要做的是什么,但我不确定queue
是否适用于此类事情。我对jQuery并不是很熟悉,但我正在研究其他人的代码,他们自由地使用它。提前谢谢。
换句话说,我想我正在寻找一种在链末端修复回调的通用方法。
答案 0 :(得分:1)
queue
函数取决于dequeue
调用。如果需要尽快删除类,则应在指定的click[name]
函数处理程序中执行此操作。
另外jQuery: more than one handler for same event
处理程序将按照绑定的顺序执行。
由于jQuery事件模型允许在一个元素上使用多个处理程序, 因此,后来的处理程序不会覆盖旧的处理程序。
您可以执行以下操作:
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]);