需求:使用JavaScript,在input输入框被点击时获取input坐标的绝对位置,
原理:根据js中的元素offsetLeft、offsetTop获取相对于父元素的X、Y坐标相对位置,然后遍历到最顶层的body元素,逐步叠加距离,最终获取的位置即为input的绝对位置。
代码如下:
1//获取x坐标 2 function getXPosition(e){ 3 var x=e.offsetLeft; 4 while(e=e.offsetParent) 5 { 6 x+=e.offsetLeft; 7 } 8 return x-260;//-260防止屏幕超出 9 } 10 //获取y坐标 11 function getYPosition(e){ 12 var y=e.offsetTop; 13 while(e=e.offsetParent) 14 { 15 y+=e.offsetTop; 16 } 17 return y+80;//80为input高度 18 } 19 20//调用 21$(".input").on("click",function(event){ 22 alert("x:"+getXPosition(this)+",Y:"+getYPosition(this)); 23});