在纯JavaScript中组合DOM事件
我有一个网页与伪画布看到。当用户将光标悬停在圆圈上时,圆圈会随机更改颜色鼠标悬停事件。如何修改程序,使颜色仅在单击鼠标左键和光标位于圆圈上时才更改?单击+鼠标覆盖事件?目前我创建的单元格具有以下功能:在纯JavaScript中组合DOM事件,javascript,dom-events,Javascript,Dom Events,我有一个网页与伪画布看到。当用户将光标悬停在圆圈上时,圆圈会随机更改颜色鼠标悬停事件。如何修改程序,使颜色仅在单击鼠标左键和光标位于圆圈上时才更改?单击+鼠标覆盖事件?目前我创建的单元格具有以下功能: function createCell() { var new_cell = document.createElement("DIV"), cell_circle = document.createElement("DIV"); new_cell.classList
function createCell() {
var new_cell = document.createElement("DIV"),
cell_circle = document.createElement("DIV");
new_cell.classList.add("paint-cell");
cell_circle.classList.add("paint-cell__circle");
new_cell.appendChild(cell_circle);
new_cell.addEventListener("mouseover", function () { changeColor(cell_circle); });
return new_cell;
}
您可以在回调函数中使用鼠标事件对象,并查看是否单击了鼠标按钮
new_cell.addEventListener("mouseover", function (e) {
if(e.buttons !== 0)
{
//do cool stuff
}
});
将鼠标悬停更改为单击。如果单击,mouseover始终为true;我希望能够用一次滑动来给几个圆圈上色,就像在Windows Paint中一样。如果我改为单击,那么一次只能给一个圆圈上色。我知道在jQuery中可以添加自定义事件并动态抛出它们。在纯JS中也可能出现同样的情况。