我有这个功能:
function block_scroll(key){ if (key) { $(window).bind("scroll",function(){ $('html,body').animate({scrollTop:0},'fast'); }); } else { $(window).unbind(); } }
第一部分工作原理,但是当我后来调用block_scroll(false) – 它仍然阻塞。 Wat做什么?
重新编辑
所以我建议我试过…
$(window).unbind("scroll");
…有一些混乱。起初它没有工作 – 然后它工作。
现在我认为它失败,因为我滚动的时刻block_scroll(false)被调用的时刻。我已经测试了好几次了。是的,如果我在脚本运行时不做任何事情,并且调用block_scroll(false) – 它会工作。但它不会,如果我滚动时,它的调用。
解决方法
$(window).unbind('scroll');
即使documentation说,如果调用没有参数,它将删除所有事件处理程序,值得给一个尝试显式解除绑定。
更新
如果你使用单引号,它工作?这听起来不正确 – 据我所知,JavaScript处理单引号和双引号是一样的(不像其他一些语言,如PHP和C)。