Jquery 在Chrome中获取滚动条上的鼠标位置
我需要检测光标何时悬停在滚动条上。我正在使用Chrome和jQuery。这适用于Firefox,但不适用于Chrome: 其实质是:Jquery 在Chrome中获取滚动条上的鼠标位置,jquery,google-chrome,cross-browser,scroll,mouseover,Jquery,Google Chrome,Cross Browser,Scroll,Mouseover,我需要检测光标何时悬停在滚动条上。我正在使用Chrome和jQuery。这适用于Firefox,但不适用于Chrome: 其实质是: $(document).mousemove(function(mouseMoveEvent){ console.log(mouseMoveEvent.pageY); }); 因此,一个简单的问题是:在Chrome中,当鼠标悬停在文档滚动条上时,如何获得鼠标位置?可能是一种解决方法:{看起来也需要处理一些窗口大小调整!} 我遵循了Croading
$(document).mousemove(function(mouseMoveEvent){
console.log(mouseMoveEvent.pageY);
});
因此,一个简单的问题是:在Chrome中,当鼠标悬停在文档滚动条上时,如何获得鼠标位置?可能是一种解决方法:{看起来也需要处理一些窗口大小调整!}
我遵循了Croading的回答基本思路,但在每一页上都添加计算页面高度和宽度的想法对我没有吸引力。我实现了一个CSS解决方案: 这个想法是让html和body的宽度和高度都达到100%,并添加一个div作为body的第一个子元素。无论出于何种目的,这都与“body”相同,只是一个补丁,让Google Chrome知道滚动条实际上是文档的一部分 CSS:
看起来有一个类似的问题,但也没有答案:似乎
mousemove
事件并不是通过Chrome中的滚动条触发的。我希望在“我想要什么”(pageY)中更加具体,两年的进展可能引入了一些新的方法来解决这个问题。我在做我的(用炸药钓鱼)之前就把那个问题投了赞成票,真是太神奇了!容器滚动条是文档的一部分,而正文滚动条不是!谢谢你的基本解决方案。我使用了一些CSS来达到相同的目标,并在不同的答案中发布了它。是的,它真的比我的答案更好!谢谢分享!顺便说一句,别忘了接受它,它确实可以帮助其他用户;)此解决方案的问题在于,它在文档上创建了一个水平滚动条。@MartynChamberlin它没有-但我的小提琴上的CSS似乎没有包括body的边距:0和padding:0,这很可能是它发生的原因。我已经用一把小提琴更新了我的答案,它实际上包含了我答案的CSS,更好的结果?请注意这是故意的,否则很难检查解决方案是否有效;)
var loremContainer = $('#loremContainer')[0],
scrollbarWidth = loremContainer.offsetWidth - loremContainer.clientWidth,
scrollbarHeight = loremContainer.offsetHeight - loremContainer.clientHeight;
$('#loremContainer').height($(window).height() - scrollbarHeight).width($(window).width() - scrollbarWidth);
html, body, #bodyContainer {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
#bodyContainer {
overflow:scroll;
}