有没有办法找到光标位于带有窗口滚动功能的HTML元素的顶部。
编辑:如果光标位于一个div的顶部,我必须调用以下脚本来暂停窗口滚动功能:
document.addEventListener('DOMMouseScroll', function(e){
console.log(e);
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}, false);
答案 0 :(得分:1)
如果你想要阻止滚动发生,如果鼠标光标(悬停)在特定元素上,则采用你提供的函数并添加一个条件,这样只有当一个标志是'n'时才取消DOMMouseScroll事件设置:
var allowScroll = true;
$("div.noscroll").hover(function() {
allowScroll = false;
}, function() {
allowScroll = true;
});
document.addEventListener('DOMMouseScroll', function(e) {
if (!allowScroll) {
console.log(e);
e.stopPropagation();
e.preventDefault();
e.cancelBubble = false;
return false;
}
}, false);
鉴于您已使用“jquery”标记了您的问题,我已使用jQuery设置管理该标志的悬停处理程序。您可以使用jQuery设置DOMMouseScroll处理程序来进一步简化代码:
$(document).on('DOMMouseScroll', function() {
if (!allowScroll)
return false;
});