我正在尝试使用javascript构建类似Paint的Web应用程序。用户应该能够用鼠标在像素网格上方“绘制”形状。
我如何使用DOM事件监听器使它正常工作?

使用此行,用户可以一个接一个地设置单个像素:

td.addEventlistener("click", setpixel);


所以我想我必须将mousedown和mouseover结合在一个事件监听器中。那可能吗?

最佳答案

本质上,您不能组合事件侦听器。但是您可以使用多个侦听器来跟踪游标的状态。

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
    }
})

09-20 16:36