火狐浏览器不支持e.offsetX,解决方法
function getOffsetX(e){
var e =e||window.event;
var srcObj = e.target || e.srcElement;
if (e.offsetX){
return e.offsetX;
}else{
var rect = srcObj.getBoundingClientRect();
var clientx = e.clientX;
return clientx - rect.left;
}
}
或者
var srcObj = e.target || e.srcElement;
return e.offsetX || (e.clientX - srcObj.getBoundingClientRect().left);
srcObj.getBoundingClientRect().left =>元素左边距离页面左边的距离
e.clientX =>鼠标相对于浏览器窗口可视区域的X,Y坐标的距离
本文提供了一种在火狐浏览器中兼容获取鼠标点击位置的方法,通过使用getBoundingClientRect和clientX属性来替代不被支持的e.offsetX属性。
5万+

被折叠的 条评论
为什么被折叠?



