{ document.onmousemove = -6ren">
gpt4 book ai didi

JavaScript - 忽略鼠标是否位于文本区域的 "resize handle"上

转载 作者:行者123 更新时间:2023-12-03 00:30:51 25 4
gpt4 key购买 nike

我有一个简单的可拖动文本区域元素的以下代码:

HTML:

<textarea type="text" onmousedown="mouseDown(this)"></textarea>

JavaScript:

const mouseDown = element => {

document.onmousemove = e => {
element.style.left = `${e.pageX}px`;
element.style.top = `${e.pageY}px`;
}
}

document.onmouseup = () => document.onmousemove = null;

除了一个问题之外,这非常有效。由于它是一个 textarea,尝试调整该元素的大小会使其变为 0px x 0px 并被拖动。如果鼠标位于调整大小 handle 上,我的 onmousemove 函数如何返回

最佳答案

计算元素调整大小 handle 所在位置的大小和部分。您可以使用 element.getBoundingClientRect() 使用元素偏移高度、宽度和页面位置来获取该区域的相对位置。

一旦找到这些边界,它就会变成我的指针是否在我定义为不可拖动的框内?

关于JavaScript - 忽略鼠标是否位于文本区域的 "resize handle"上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53875642/

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