Могу ли я выбирать между щелчком и прокруткой в ​​Jquery? - PullRequest
0 голосов
/ 22 октября 2011

У меня есть два события:

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

и

$(window).scroll(function...

Событие щелчка прокручивает страницу.Однако я хочу запретить функцию события прокрутки, только когда вызывается событие щелчка.

Когда пользователь прокручивает страницу вручную, тогда я хочу, чтобы событие прокрутки получило контроль.Я попытался отменить привязку события прокрутки, а затем снова связать после завершения события щелчка, но это не сработало.

есть идеи?

1 Ответ

0 голосов
/ 22 октября 2011

Я заставил его работать таким образом:

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 это делает. (хотя бы на хром)

...