获取鼠标的坐标值(保证跨浏览器兼容)

//检测浏览器

function agent(v) {
    return(Math.max(navigator.userAgent.toLowerCase().indexOf(v), 0));
}

//获取坐标值

function XY(e) {
    var o = agent('msie')>0 ? {'X':event.clientX + document.documentElement.scrollLeft,'Y':event.clientY + document.documentElement.scrollTop} : {'X':e.pageX,'Y':e.pageY};
·return o;   
}

注意两个问题,一是跨浏览器,二是有滚动条。

在使用了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">声明的网页中,获取滚动条上不的高度不能再使用document.body.scrollTop而应该使用document.documentElement.scrollTop

posted @   leeolevis  阅读(190)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示