我正在尝试用 HTML 5 画布编写一个简单的地图。拖动鼠标移动地图,然后单击选择最近的航点。但是,有一个问题。当我拖动鼠标时,当我释放它时仍然得到click事件。我想只有在点击时没有移动时才能得到它。
我试图在mousemove事件处理程序中检查无移动事件,但没有成功:
function onMove(e) {
if(e.movementX == 0 && e.movementY == 0) {
console.log("a"); //never happens...
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:有没有简单的方法可以做到,或者我应该检查新闻发布会和发布活动是否在同一个地方?
这是我的代码:
function onMove(e) {
console.log("moving");
}
function onClick(e) {
console.log("clicked");
}
function init() {
c = document.getElementById("MapCanvas");
ctx = c.getContext("2d");
c.addEventListener("click", onClick, true);
c.addEventListener("mousemove", onMove, true);
}
Run Code Online (Sandbox Code Playgroud)