首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

监听鼠标的点击事件获取屏幕坐标不正确解决办法

2012-04-06 
监听鼠标的点击事件获取屏幕坐标不正确我在浏览器中创建了一个div,在div中添加了一张图片(图片是从后台传

监听鼠标的点击事件获取屏幕坐标不正确
我在浏览器中创建了一个div,在div中添加了一张图片(图片是从后台传过来的),我是监听鼠标点击图片,获取鼠标点击图片时的屏幕坐标,但是在图片上点击同一个点返回的屏幕坐标确不相同,希望大家给看看:
window.onload=function()
{ obj = document.getElementById("imgmap");//找到对象
  obj.onmousedown = down;  
  }
  //设置鼠标单击监听函数
function down(event)
{
oEvent=event||window.event;  
if(oEvent.button==1) {
firx=oEvent.clientX-10; //这个函数的作用要图片的起始点为(0,0)
firy=oEvent.clientY-10;
  document.getElementById("ttc").value=firx;
  document.getElementById("hubj").value=firy;
  }
}
 <div id="imp" style="width:800px; height:500px; border:1px solid #000; overflow:hidden;"> 
 <img id="imgmap" src="maptest" > 
  </div>
 <input type="text" name ="ttc" id="ttc">
<input type="text" name ="hubj" id="hqbj"> 
每次点击图片上同一个点返回的屏幕坐标不同,这是为什么啊??

[解决办法]
兼容性好的话,直接用jquery吧,他把兼容问题都替你处理了

JScript code
        $(document).ready(function() {            $('#imgmap').click(function(e) {                            var offset = $(this).offset();                alert(e.clientX - offset.left);//相对于图的坐标,如果相对于屏幕的坐标,直接e.clientX                alert(e.clientY - offset.top);            });        }); 

热点排行