gpt4 book ai didi

javascript - 除非页面移动,否则不会触发滚动事件

转载 作者:数据小太阳 更新时间:2023-10-29 05:55:22 24 4
gpt4 key购买 nike

我希望在从 $(window).scrollTop == 0“向上”滚动时触发一个事件。

如果你有如下代码:

$(window).scroll(function(){
console.log("scrolling")
});

在文档 < 窗口高度的页面上,该事件永远不会触发,因为 $(window).scrollTop 没有改变,但这并不意味着没有鼠标滚动输入。无论页面是否移动,我都希望在鼠标滚动时触发一个事件。

最佳答案

看起来像你要找的东西:

http://jsfiddle.net/n8eVQ/

$(document).on('mousewheel DOMMouseScroll MozMousePixelScroll', function(event, delta) {
console.log('mousewheel');
//you could trigger window scroll handler
$(window).triggerHandler('scroll');
});

另一种方法是在支持事件捕获阶段 (IE>8) 的现代浏览器上捕获 scroll 事件。这可以用于任何动态元素。由于 jQuery 没有实现捕获阶段,您必须使用 javascript addEventListener() 方法。这是一个实现逻辑以获取文本区域滚动方向的示例:

document.addEventListener('scroll', function (event) {
var $elm = $(event.target);
if ($elm.is('textarea')) { // or any other filtering condition
// do some stuff
var direction = $elm.scrollTop() > ($elm.data('scrollTop') || 0) ? "down" : "up";
$elm.data('scrollTop', $elm.scrollTop());
console.log('scrolling', direction);
}
}, true);

-DEMO-

关于javascript - 除非页面移动,否则不会触发滚动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16363238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com