javascript - 如何在 HTML 文本区域中找到光标位置(X/Y,而不是行/列)?

标签 javascript html textarea text-cursor

<分区>

我想在 <textarea> 中显示一个下拉列表协助用户输入某些内容。您从当前的 IDE 中知道这是代码完成。当您开始输入内容时,会在当前光标/插入符号位置右侧出现一个弹出窗口,您可以使用箭头键导航它以完成文本输入。

我知道how to get the cursor position在文本字符串中(即光标位置的字符索引),但我不知道如何获取 offsetWidth 内光标的 X/Y 坐标(类似 offsetHeight<textarea> )元素,以便我可以将我的列表元素放在那里。这在 HTML/JavaScript 中可能吗?它是如何工作的?

最佳答案

使用可编辑的 html 输入(在 CKeditorRich Text Editor 或更好的 iframe 中:jsfiddle )您可以在插入符号位置插入一个空的 span 元素并获取该元素的位置以显示您的下拉列表.

这可能看起来很复杂,但我想不出任何其他方法来做到这一点。

当用于代码编辑器时,它有一些额外的可能性,您可以像 jsfiddle 那样对文本和格式代码进行颜色编码,甚至可以为关键字等构建某种代码自动完成。

关于javascript - 如何在 HTML 文本区域中找到光标位置(X/Y,而不是行/列)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6953037/

相关文章:

javascript - 退格时 value.length 无法按预期工作

JavaFX:将控制台输出重定向到在 SceneBuilder 中创建的 TextArea

javascript - Promises : WebdriverIO UI tests are running only on Chrome, 不适用于 Firefox、Safari

javascript - 具有元素属性的 Handlebars 插值?

javascript - JQuery:选择包含具有特定 ID 的元素的元素

javascript - 为什么在单击按钮时从 textarea 中获取文本选择有效,但在单击 "div"时无效(在 Internet Explorer 中)

javascript - 水平 HTML5 mediaelementjs 音量 slider

javascript - xml "reusable"代码

javascript - 响应式导航未按预期显示

javascript - 自动登录网站(自动填写并提交)