【问题标题】:Javascript onscroll and mouse positionJavascript 滚动和鼠标位置
【发布时间】:2010-04-10 09:07:03
【问题描述】:

我有一个脚本,它为 onmousemove 和 onscroll 在文档正文上运行 addEventListener 以获取光标位置。 onmousemove 事件可以正常工作(客户端 + 滚动),但是当发生 onscroll 事件时,clientX/Y 似乎继承了 scrollTop/Left 值(仅滚动)。有没有办法解决这个问题?

clickDocument = (document.documentElement != undefined && document.documentElement.clientHeight != 0) ? document.documentElement : document.body;

var posx = 0;
var posy = 0;
if (e.pageX || e.pageY)     {
    posx = e.pageX;
    posy = e.pageY;
}
else if (e.clientX || e.clientY)    {
    posx = e.clientX;
    posy = e.clientY;
}

var scrollx = window.pageXOffset == undefined ? clickDocument.scrollLeft : window.pageXOffset;
var scrolly = window.pageYOffset == undefined ? clickDocument.scrollTop : window.pageYOffset;

【问题讨论】:

    标签: javascript cursor-position onscroll


    【解决方案1】:

    根据IE浏览器版本和doctype,有时需要clickDocument.body.scrollTop 甚至clickDocument.documentElement.scrollTop

    (来源:http://javascript.about.com/library/blmousepos.htm

    【讨论】:

    • 这发生在 FF 和 Chrome 中。
    猜你喜欢
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 2016-04-14
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多