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

Javascript
javascript中的有名函数和无名函数
javascript[js]获取url参数的代码
javascript select 之间传值效果的代码
js正则实现的密码框简单制作,还可以替换成自己想用得符号
脚本控制自适应高度的缩短问题
兼容ie和firefox版本的js反选 全选 多选框
javascript 随机数 与高级应用 附vbscript(asp) 随机数总结
不用确认即可打印的javascript代码
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
用javascript实现div可编辑的常见方法
用JavaScript实现的一个IP地址输入框
用javascript取得传递参数的个数的代码
当鼠标移出灰色区域时候,菜单项怎么隐藏起来
才发现的超链接js导致网页中GIF动画停止的解决方法
javascript window.onerror事件学习新收获
javascript 如何生成不重复的随机数
超个性的导航效果
不能再简单的无闪刷新验证码原理很简单
经常用到的javascript验证函数收集
用js实现手把手教你月入万刀(转贴)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 210 ::
收藏到网摘: 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 全选 提示:你可先修改部分代码,再按运行]