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