【发布时间】:2019-05-31 10:11:02
【问题描述】:
我正在创建一个类似的画布而不使用画布标签,每次鼠标按下时创建新的 div,我无法弄清楚如何运行第二个事件。 像 mousedown 然后 mousemove 事件,其中第二个事件仅在第一个事件为真之后发生? 如果你可以帮助偏移坐标
var paintbox = document.getElementById("canvas");
var start = function() {
paintbox.addEventListener("mousedown", drawOnCanvas);
};
var newColor = document.getElementById("colorPick");
var drawOnCanvas = function() {
var newClick = document.createElement("div");
newClick.setAttribute("id", "smallDiv");
newClick.style.backgroundColor = newColor.value;
newClick.style.width = "10px";
newClick.style.height = "10px";
newClick.style.position = "absolute";
paintbox.appendChild(newClick);
}
【问题讨论】:
-
在 mousedown 处理函数(以及 mouseup 监听器)中附加 mousemove 事件,并在 mouseup 事件处理函数中将其移除。
-
不清楚要达到什么目的?单击时绘制框?拖动时绘制多个框?在两次点击之间画线?
-
要么绑定 mousedown /mouseup 事件,要么使用promise
-
当我单击鼠标时,我创建了一个带背景的小 div 并将其附加到主 div 这就是我所达到的。现在我要做的是在鼠标按下之后并且在移动它的同时不断创建 div 的
标签: javascript