<div id="imp"  style="width:800px; height:500px; border:1px solid #000; overflow:hidden;"> 
  <img id="imgmap" src="maptest" >  //传过来的是一张图片
     </div>
我想监听这个图片imgmap上的鼠标点击,还有鼠标松开,鼠标拖动等事件,应该怎么写。
window.onload=function()
{
var obj = document.getElementById("imgmap");//找到对象
}
直接obj.onMouseMove=function(e) 好像没有这个功能是吧?那我想只监听这块div上的鼠标按下,松开,拖动怎么写?只能监听整个页面的鼠标动作吗? 

解决方案 »

  1.   

    <body>
    <div id="imp" style="width:800px; height:500px; border:1px solid #000; overflow:hidden;">  
    <img id="imgmap" src="maptest"> <!--//传过来的是一张图片-->
      </div>
    <div id="result" style="float:left"></div>
    <script>
    window.onload=function()
    {
    var obj = document.getElementById("imgmap");//找到对象
    obj.onclick=function(e){alert("鼠标点击");}
    obj.onmousemove=function(e){document.getElementById("result").innerHTML += "鼠标移动<br/>"}
    obj.onmouseup=function(e){alert("鼠标松开");}
    }</script>
    </body>
      

  2.   

     我如果想获取当前屏幕的坐标
    var ptx,pty;
    obj.onMouseDown=function(e){
    oEvent=e||event;  //如果e为null,则oEvent=event,否则oEvent=e
    ptx=oEvent.clientX;
    pty=oEvent.clientY;
    document.all.imgmap.src="maptest?toolType=1" + "&ptx=" + ptx + "&pty=" + pty;
    }
    obj.onmouseup=function(e){
    oEvent=e||event; 
    var endx;
    var endy;
    endx=oEvent.clientX;
    endy=oEvent.clientY;
    if(endx==ptx&&endy==pty)
    {
    document.all.imgmap.src="maptest?toolType=1" + "&ptx=" + ptx + "&pty=" + pty;
    }
    这样写可以运行吗?oEvent=e||event; 这句话每次监听是鼠标按下,还是松开都需要写吗?
      

  3.   

    oEvent=e||event; 这样写是为了兼容各大浏览器,所有事件类的函数都要写。
    至于程序能不能运行你自己测试去