在文本坐标中获取文本区域中的鼠标单击位置

时间:2019-05-18 02:48:28

标签: javascript html

您可以通过selectionStart来获取鼠标位置(以像素为单位)和插入符号位置。

但是在鼠标按下后如何直接在文本坐标中获得位置?

问题在于,在按下鼠标时,插入符号尚未移动,因此您可以找到先前的位置。

textarea.addEventListener('mousedown', event => {
  console.log(textarea.selectionStart) // logs previous location
})

1 个答案:

答案 0 :(得分:2)

请改用click事件。

根据MDNmousedown事件在默认操作发生之前触发,而click事件在默认操作(在这种情况下,移动插入符号位置)发生之后立即发生。 / p>

  

注意:这与click事件的不同之处在于,发生完全点击操作后会触发click;也就是说,当指针停留在同一元素内时,按下并释放鼠标按钮。最初按下按钮后,将按下mousedown。

textarea.addEventListener('click', event => {
  console.log(textarea.selectionStart) // logs previous location
})