我有以下内容:
var onScroll = function () {
alert('scroll');
};
scrollArea = $('body');
scrollArea.on('scroll', onScroll);
我可以$('body').scrollTop(400)
,身体滚动得很好,但是当我手动滚动时,alert
永远不会被调用。可能导致这种情况的原因是什么?
答案 0 :(得分:5)
滚动页面时,window
滚动而不是body
。所以将其更改为$(window).on('scroll', onScroll);
编辑:如果您想将其body
专门绑定,可以使用document.body.onscroll = onScroll;
进行操作。 但请确保在这种情况下不将任何onscroll
事件绑定到window
。如果您这样做,我们将忽略document.body.onscroll
并收听window.onscroll
。
在小提琴链接here上查看此操作。
答案 1 :(得分:1)
不要使用$(' body'),而是使用$(文档)或$(窗口)来捕捉滚动,如下所示:
SELECT a.ItemCode, a.AvgPrice, t.PriceList, a.ComplimentaryItemCode,
(SELECT AvgPrice
FROM MATERIALS AS a
WHERE (ItemCode = ComplimentaryItemCode)) AS AvgPriceComplimentary
FROM MATERIALS AS a LEFT OUTER JOIN
PRICES AS t ON t.ItemCode = a.ItemCode AND t.PriceList = 1
WHERE (T.PriceList <> 107) AND (T.PriceList <> 108)
这是一个有效的jsFiddle: https://jsfiddle.net/4rrm3myL/1/