小编mar*_* sz的帖子

检测 html 5 画布上的点击与拖动

我正在尝试用 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)

html javascript canvas mouseevent

2
推荐指数
1
解决办法
490
查看次数

标签 统计

canvas ×1

html ×1

javascript ×1

mouseevent ×1