【发布时间】:2022-07-25 17:59:48
【问题描述】:
我试图在拖动鼠标时检测鼠标方向。当鼠标按钮按下并且用户拖动鼠标时,我希望文本根据鼠标拖动方向向左或向右变化。
这是我的代码。
var divOverlay = document.getElementById ("div");
var dragged = false
window.addEventListener('mousedown', function () { dragged = false })
document.addEventListener('mousemove', function () { dragged = true })
window.addEventListener('mouseup', function(e) {
if (dragged == true && e.pageX <= 0) {
direction = "left"
} else if (dragged == true && e.pageX >= 0) {
direction = "right"
}
divOverlay.innerHTML = direction;
oldx = e.pageX;
})
#div {
width: 100px;
height: 100px;
background: red;
}
<div id="div"></div>
我不认为我离得太远了,但我无法锻炼我做错了什么,所以我需要一些帮助。
【问题讨论】:
-
如果不使用
oldx,为什么还要存储它? -
您希望在
mouseup或mousemove上更改文本吗? -
@Apollo79 最快的。我只想检测用户是向左还是向右拖动
-
@RobbyCornelissen 我正在使用它,但为了尝试找出我的问题,我从 if 语句中删除了它。
标签: javascript drag mousedown