首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >鼠标movementX是如何在拖动事件上工作的?

鼠标movementX是如何在拖动事件上工作的?
EN

Stack Overflow用户
提问于 2018-02-15 20:03:12
回答 2查看 1.5K关注 0票数 4

我正在尝试设置动态可拖动元素,它将根据拖动增量移动其锚点。但是,我似乎无法使用event.movementXevent.movementY获取增量。

我的简单拖动事件代码:

代码语言:javascript
复制
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事件的方式。

EN

回答 2

Stack Overflow用户

发布于 2018-09-27 07:29:11

我也不能让它工作,所以我只做了以下操作:

代码语言:javascript
复制
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)
票数 1
EN

Stack Overflow用户

发布于 2021-10-30 10:39:31

您也可以使用e.nativeEvent.offsetXe.nativeEvent.offsetY

不过,我不知道浏览器支持什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48806827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档