我有以下幾點:jQuery的「滾動」不費一槍
var onScroll = function() {
alert('scroll');
};
scrollArea = $('body');
scrollArea.on('scroll', onScroll);
我可以做$('body').scrollTop(400)
和身體春聯罰款,但alert
沒有被調用時,我手動滾動。什麼可能導致這個?
我有以下幾點:jQuery的「滾動」不費一槍
var onScroll = function() {
alert('scroll');
};
scrollArea = $('body');
scrollArea.on('scroll', onScroll);
我可以做$('body').scrollTop(400)
和身體春聯罰款,但alert
沒有被調用時,我手動滾動。什麼可能導致這個?
不要使用$( '身體'),但任何的$(document)或$(窗口)來捕捉滾動,像這樣:
$(document).ready(function() {
$(document).scroll(function() {
console.log('Scrolled to ' + $(this).scrollTop());
})
});
這裏有一個工作的jsfiddle: https://jsfiddle.net/4rrm3myL/1/
當您滾動頁面時,它是滾動而不是body
的window
。如果你想將其綁定到body
具體情況,你可以使用document.body.onscroll = onScroll;
做:它因此改爲$(window).on('scroll', onScroll);
編輯。 但請確保您沒有綁定任何onscroll
事件到window
在那種情況下。如果這樣做,document.body.onscroll
將被忽略,並且window.onscroll
將被偵聽。
在小提琴鏈接here上檢查此操作。