在JavaScript中组合鼠标事件

时间:2017-12-04 20:18:07

标签: javascript events dom

我正在尝试使用javascript构建类似Paint的Web应用程序。用户应该能够画出"用鼠标在像素网格上的形状。 如何使用DOM eventlisteners实现这一点?

使用此行,用户可以逐个设置单个像素:

td.addEventlistener("click", setpixel);

所以我想我必须在一个eventlistener中结合mousedown和mouseover。这可能吗?

1 个答案:

答案 0 :(得分:2)

您本身无法组合事件侦听器。但是可以使用多个侦听器来跟踪光标的状态。

var mouseIsDown = false
el.addEventListener('mousedown', function(){mouseIsDown = true})
el.addEventListener('mouseup', function(){mouseIsDown = false})

然后,您需要决定鼠标移动时要做什么。

el.addEventListener('mousemove', function(){
    if(mouseIsDown){
        // implement drawing logic here
    }
})