我正在尝试使用javascript构建类似Paint的Web应用程序。用户应该能够画出"用鼠标在像素网格上的形状。 如何使用DOM eventlisteners实现这一点?
使用此行,用户可以逐个设置单个像素:
td.addEventlistener("click", setpixel);
所以我想我必须在一个eventlistener中结合mousedown和mouseover。这可能吗?
答案 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
}
})