仅触发一次jQuery滚动事件
我只想触发一次jQuery滚动事件,它可以工作,但当我有一个新的滚动事件时,它不工作,希望有人能帮助我仅触发一次jQuery滚动事件,jquery,Jquery,我只想触发一次jQuery滚动事件,它可以工作,但当我有一个新的滚动事件时,它不工作,希望有人能帮助我 $(".content").scroll(function(){ if(var == 1) { $(".content").off("scroll"); console.log("it works only once"); } } $(".content").on("scroll", function() { console.log(
$(".content").scroll(function(){
if(var == 1) {
$(".content").off("scroll");
console.log("it works only once");
}
}
$(".content").on("scroll", function() {
console.log("This should work always, but it don't work");
});
谢谢 在我看来,您应该使用名称空间事件:
$(".content").on("scroll.custom", function(){
if(someVariableCheck == 1) {
$(".content").off("scroll.custom");
console.log("it works only once");
}
}
$(".content").on("scroll", function() {
console.log("This should work always, but it don't work");
});
您可以使用
one
将特定处理程序绑定为只触发一次,但这将取消变量检查。您可能需要查看的文档。one()
是否有多个元素具有.content
类?是的,您应该在第一次使用.one()
,如果继续使用该代码,则必须准确指定要关闭的处理程序,而不指定关闭时应应用的处理程序,所有处理程序(包括第二个处理程序)都将被删除。(那么它就不起作用了)。使用名称空间打开/关闭事件。我已经尝试了.one(),但它不适用于if语句。