当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js获取鼠标位置杂谈附多浏览器兼容代码

Javascript
javascript 动态数据下的锚点错位问题解决方法
jQuery 动画基础教程
jQuery 操作XML入门
ASP SQL防注入的方法
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
jquery 插件 任意位置浮动固定层
JavaScript 检测浏览器和操作系统的脚本
不要小看注释掉的JS 引起的安全问题
js实现的验证,学习用js控制td
javascript iframe中打开文件,并检测iframe存在否
Javascript typeof 用法
Javascript valueOf 使用方法
extjs form textfield的隐藏方法
extjs grid取到数据而不显示的解决
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
My Desktop :) 桌面式代码
javascript 双击文本框编辑功能代码
不用写JS也能使用EXTJS视频演示
js 提取class相同的节点集合
js Li来实现的效果

Javascript 中的 js获取鼠标位置杂谈附多浏览器兼容代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 179 ::
收藏到网摘: n/a

最近在搞一个AJAX的小功能,目的是用浮动div框显示当前鼠标下控件的详细信息,其中获得鼠标位置这块害得我走了很多冤枉路,因为压根没有想到我下面提到的第二点的区别,所以我的页面出来总是找不到我之前定义的那个div 其实获得鼠标位置就是一句话的事情,但是要是不了解浏览器间的区别,整个过程就会让人很郁闷,区别在与:
1.IE下获得x和y轴的距离分别用event.x和event.y;
FF下获得x和y轴的距离分别用event.pageX和event.pageY;
2.IE下用此方法获得的位置是不算滚动条滚过的位置的,即它只会算到浏览器边缘;
FF则会算进滚过去的那些位置;
(这个地方很让我崩溃,为这么点小区别我把所有用到的程序全部重写了一遍,囧死……)
解决1的办法,无非是判断一下浏览器,然后用什么方式;
解决2的办法,是在IE的情况下在x和y轴分别加上document.documentElement.scrollTop和document.documentElement.scrollLeft;
对JS我了解的比较少,如果大家有更好的建议欢迎留言指教!谢谢
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]