Вопрос по jquery, css – Как использовать JQuery .on (), чтобы перехватить событие прокрутки

7

Я пытаюсь использовать .on () из jQuery, чтобы перехватить событие прокрутки, которое находится внутри тега.

так что это было мое решение:

  • the div id='popup'
  • the .fixedHeader class is something I'm trying have fixed at the top of the div frame.
  • getScrollTop() is a javascript function to return the top value (works)

    $(document).on("scroll#popup", '#popup', function(){
       alert('scrolling');
       $(".fixedHeader").css("position", "relative");
       $(".fixedHeader").css("top", getScrollTop());
    });
    

Ваш Ответ

3   ответа
5

Событие простоscrollнеscroll#popup.

// http://ejohn.org/blog/learning-from-twitter
// Also, be consistent with " vs '
var $fixedHeader = $('.fixedHeader').css('position', 'relative');

$(document).on('scroll', '#popup', function() {
   console.log('scrolling'); // you *really* don't want to alert in a scroll
   $fixedHeader.css("top", getScrollTop()); 
});
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded DFIVE
Error: User Rate Limit Exceeded.on().
Error: User Rate Limit Exceeded DFIVE
Error: User Rate Limit Exceeded$(window).on('scroll', '#popup', function() { ...
2

Как говорит @ Venar303, прокрутка не всплывает, поэтому привязка к документу не будет работать.

Использовать этот:

$('#popup').on('scroll', function() {});

Вместо этого:

$(document).on('scroll', '#popup', function() {});
11

Путаница заключается в том, как "on ()" работает. В jQuery, когда вы говорите $ (document) .on (xx, & quot; # popup & quot ;, yy), вы пытаетесь запустить yyy всякий раз, когда событие xx достигает документа, но исходная цель была & quot; # popup & quot ;.

Если документ не получает событие xx, это означает, что оно не всплывает! Подробности в документации по jQuery On, но три события "загрузить", "ошибка" и "прокрутка" не поднимайте DOM.

Это означает, что вам нужно прикрепить событие непосредственно к элементу, получающему его. $ (& Quot; # всплывающее окно & Quot;) на (хх, YY).

Похожие вопросы