javascript - 获取文本坐标中文本区域中的鼠标单击位置
问题描述
您可以获取以像素为单位的鼠标位置,也可以通过selectionStart
.
但是,如何在鼠标按下后直接获取文本坐标中的位置?
问题是在鼠标按下时插入符号还没有移动,所以你得到了以前的位置。
textarea.addEventListener('mousedown', event => {
console.log(textarea.selectionStart) // logs previous location
})
解决方案
请改用click
事件。
根据MDN,mousedown
事件在默认操作发生之前触发,而click
事件直接在默认操作(在这种情况下移动插入符号位置)发生之后发生。
注意:这与在完全点击动作发生后触发的
click
事件不同;click
也就是说,当指针保持在同一元素内时,按下并释放鼠标按钮。mousedown 在最初按下按钮的那一刻被触发。
textarea.addEventListener('click', event => {
console.log(textarea.selectionStart) // logs previous location
})
推荐阅读
- terragrunt - Terragrunt plan-all auto-init 似乎不起作用
- android - 如果使用嵌套的recyclerView,如何从适配器的第一个位置加载recyclerView上的arraylist中的第0个数据?
- php - Wordpress:如何使用自动换行
仅在帖子中
- python - matplotlib 中动画的正确实现
- continuous-integration - Gitlab CI/CD 只部署一个阶段
- laravel - 返回重复记录的id
- php - 我的 AES 函数正确加密值,但解密返回 FALSE
- java - 如何以 1000 行为单位读取大型 .txt 文件
- angular - Angular 8 Http Post 从订阅中获取布尔值
- sql - 在将数据插入 SQL 时,索引(从零开始)必须大于或等于零且小于 EF 核心中参数列表的大小