我正在尝试设置动态可拖动元素,它将根据拖动增量移动其锚点。但是,我似乎无法使用event.movementX
或event.movementY
获取增量。
我的简单拖动事件代码:
mainMenuDiv.addEventListener("drag", (event)=>{
console.log(event.movementX, event.movementY);
});
// The console print out is simply:
//>0 0
// This prints out a lot of times as i drag the mouse but doesn't change the properties.
我想我遗漏了一些关于movement
属性处理drag
事件的方式。
发布于 2018-09-27 07:29:11
我也不能让它工作,所以我只做了以下操作:
var start = null, delta = null
el.addEventListener('dragstart', e => {
start = {x: e.clientX, y: e.clientY}
})
el.addEventListener('drag', e => {
delta = {x: e.clientX - start.x, y: e.clientY - start.y}
})
el.addEventListener('dragend', e => start = delta = null)
发布于 2021-10-30 10:39:31
您也可以使用e.nativeEvent.offsetX
和e.nativeEvent.offsetY
。
不过,我不知道浏览器支持什么。
https://stackoverflow.com/questions/48806827
复制相似问题