我可以在Jquery中单击和滚动之间进行选择吗?

时间:2011-10-22 09:48:12

标签: jquery events click scroll

我有两件事:

$('#item').click(function...

$(window).scroll(function...

点击事件会滚动页面。但是,我想仅在调用click事件时阻止scroll事件的功能。

当用户手动滚动页面时,我希望滚动事件能够控制。我尝试解除滚动事件的绑定,然后在点击事件完成后再次绑定,但这不起作用。

任何想法?

1 个答案:

答案 0 :(得分:0)

我让它以这种方式工作:

http://jsfiddle.net/r9XAN/

$(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则确实如此。 (至少在铬上)