2013-04-02 43 views
0

我试图获得鼠标光标的坐标,并在离开我的KineticJS阶段时执行操作。但我需要获得鼠标相对于舞台画布的坐标。因此,当鼠标光标从左边缘离开舞台时,坐标应该为0,当它离开顶部时,无论舞台放置在网页中的哪个位置,y坐标应该为0。我写了一个函数,但是我在控制台中得到了NaN。如何获得KineticJS舞台的左侧和顶部坐标?

容器是在其内的阶段被放置

function checkBounds(e) { 
    var canvas = document.getElementById("container"); 
    console.log(e.clientX - stage.getX() + "," + e.clientY - stage.getY()); 
} 
+0

http://stackoverflow.com/questions/4249648/jquery-get-mouse-position-within-an-内精确的鼠标位置元素 – Eugene

回答

2

这里的一些jquery的代码,发现网页上的容器偏移在div。

var containerOffset=$("#container").offset(); 
    var offsetX=containerOffset.left; 
    var offsetY=containerOffset.top; 

这里是你如何让你的事件处理程序

function handleMouseDown(e){ 
     mouseX=parseInt(e.clientX-offsetX); 
     mouseY=parseInt(e.clientY-offsetY); 

     // Put your mousedown stuff here 

    } 
+0

有没有办法做到这一点,而不使用jQuery?特别是.offset()方法?编辑:nm,回答了我的问题。使用offsetLeft和offsetTop方法 – devcoder

相关问题