FF没有offsetX属性,有个layerX属性,只要将事件源的位置设置成相对定位(position:relative)或绝对定位(position:absolute),两者结果就相等,表示事件源相对于父元素的X坐标。
一个简单的例子:判断鼠标位于事件源左边还是右边,在图片点击自动翻页中常用到。
- function GetMousePosStr (evnt,ele)
- {
- if(!evnt)
- {
- evnt = window.event;
- }
- var offsetX = evnt.offsetX ? evnt.offsetX : evnt.layerX;
- if(evnt.offsetX < ele.offsetWidth / 2)
- {
- return 'left';
- }
- else
- {
- return 'right';
- }
- }