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

Javascript
javascript的事件描述
用javascript动态注释掉HTML代码
对联广告
[原创]菜单制作学习一个小东西
JavaScript中的私有成员
基于Web标准的UI组件 — 树状菜单(2)
JavaScript静态的动态
JavaScript Base64编码和解码,实现URL参数传递。
跨浏览器的设置innerHTML方法
多个iframe自动调整大小的问题
判断checkbox选择的个数 多浏览器
发现的以前不知道的函数
Js+XML 操作
Javascript里使用Dom操作Xml
JS+CSS模拟IP输入框
prototype1.5 初体验
prototype 源码中文说明之 prototype.js
prototype1.4中文手册
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
js实现ASP分页函数 HTML分页函数

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


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