我有以下代码。可以看出,我有一个事件侦听器,当鼠标按钮在 div(“myDiv”)上按下时触发。如果鼠标移动,则 div 移动,然后当释放鼠标按钮时,控制台会记录一条消息。问题是,每次之后,即使鼠标不在 div 上,如果松开鼠标按钮,同样的消息也会记录到控制台。我已经设法用“document.onmousemove = null”关闭了 onmousemove 功能。但是如何阻止 mouseup 函数永久执行呢?仅限香草 javascript。谢谢
var myDiv = document.getElementById("div");
myDiv.addEventListener("mousedown", function(event) {
document.onmousemove = function(event) {
myDiv.style.left = event.clientX + "px";
};
document.onmouseup = function(event) {
document.onmousemove = null;
console.log("you moved the div");
};
});
#div {
width: 100px;
height: 100px;
position: absolute;
background-color: rgba(0,50,150,1);
}
<div id="div"></div>