我有两件事:
$('#item').click(function...
和
$(window).scroll(function...
点击事件会滚动页面。但是,我想仅在调用click事件时阻止scroll事件的功能。
当用户手动滚动页面时,我希望滚动事件能够控制。我尝试解除滚动事件的绑定,然后在点击事件完成后再次绑定,但这不起作用。
任何想法?
答案 0 :(得分:0)
我让它以这种方式工作:
$(window).scroll(scroll);
$('a').click(function(ev){
$(window).unbind('scroll').scrollTop(100);
setTimeout(function(){
$(window).scroll(scroll);
},1);
ev.preventDefault();
});
function scroll(){
console.log('scrolled');
}
有点奇怪。如果立即重新绑定滚动事件,它将无法正常工作。如果超时为1则确实如此。 (至少在铬上)