gpt4 book ai didi

javascript - Dragend 客户端在 Safari 和 Firefox 上的协调不连贯

转载 作者:行者123 更新时间:2023-12-05 04:05:04 25 4
gpt4 key购买 nike

目前正在使用一些拖放功能进行图像编辑。在 chrome 上有一些功能,但在 Safari 上,dragend 事件返回愚蠢的坐标(e.clientXe.clientY)。刚刚在 Firefox 上试过,现在值是空的。

所以这应该在用户放下图像时返回鼠标在 Canvas 上的位置,这在 Chrome 上效果很好,但在 Safari 上 clientX 太大了,clientY 是否定的...

sticker.addEventListener("dragend", (e) => {
let coords = new Array(
document.getElementById("canvas").getBoundingClientRect()
).map((rect) => {
console.log(e.clientX(e.clientY));
return [(e.clientX - rect.left)(e.clientY - rect.top)].join();
});
});

最佳答案

我的解决方案是跟踪拖动回调函数给出的位置(不存在“dragEnd”问题),然后当“dragEnd”被触发时,我只使用这些临时变量的最后一个值。

例子:

drag (ev) {
this.last_x = ev.clientX;
this.last_y = ev.clientY;
...
},
dragEnd (ev) {
this.x = this.last_x;
this.y = this.last_y;
...
}

希望对您有所帮助。

关于javascript - Dragend 客户端在 Safari 和 Firefox 上的协调不连贯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51757499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com