我希望能够检测到不可滚动元素上的$.scroll();
。此类元素的示例可能是overflow:hidden;
,但具体来说它是绝对div,宽度100%高度和宽度。
我想在这个div上滚动事件。
<div id="js_bgElem" style="width: 100%; height: 100%; position: absolute;"></div>
<script>
$('#js_bgElem').on('scroll', function(){
alert('Scrolled!);
});
</script>
明显的问题是,它不起作用。我想过只绑定mousewheel
甚至键盘键,但是这不会检测到每个可能的滚动事件。例如移动向下滚动,或者如果有人重新加入或使用某种不同的滚动。
我想过制作一个额外的叠加元素,这个元素是不可见的。
<div id="js_anchor" style="width: 100%; height: 100%; position: fixed; z-index: 1; overflow: auto;">
<div style="height: 300%"></div> <!-- Simple stretch -->
</div>
<script>
$('#js_anchor').on('scroll', function(){
// detect which way is scrolling
// $(this).scrollTop(50%) so it can be scrolled infinitely
});
</script>
哪个理论上可行,但是,它无法点击。添加pointer-events: none;
后,系统不再检测到scroll
。
那么,有人可以帮我一把吗?感谢。