gpt4 book ai didi

javascript - 将插入符号值设置到某个位置后无法获取插入符号位置值

转载 作者:行者123 更新时间:2023-11-30 13:04:23 26 4
gpt4 key购买 nike

在我的项目中,我使用了“contenteditable”div。我正在尝试使用此 div 创建自动完成功能。每当我键入任何单词时,一些建议应该在不同的 div 中可见。当我按下 ENTER 时,所选建议应替换为“contenteditable”div 中输入的文本。然后,当我按下 SPACE 时,应该会显示更多建议。

更清楚的解释,请看这个 fiddle .

在 fiddle 中,输入一些字母,然后按 ENTER,然后按 SPACE

每当我按下 SPACE 时,都会显示一个警告框(用于测试)。这表明插入符号在“contenteditable”div 中的当前位置。

但是当我按 ENTER 然后按 SPACE 时,插入符号的当前位置是错误的,即 0

据我所知,如果我不使用 placeCaretAtEnd() 函数,那么我会正确地获取插入符位置。但就我而言,我想同时使用( getCaretPosition()placeCaretAtEnd() )。

我正在 Firefox 中检查这个。 (在 Chrome 中,它似乎工作正常)

我需要一个适用于 IE8+、Chrome 和 Firefox 的解决方案。请帮忙。

最佳答案

您需要一种更复杂的方法来获得适用于可编辑 div 中所有文本的插入符号位置。您可以使用 this question 中的代码,尽管我不太确定您要实现的目标。您可能会遇到问题,因为代码没有考虑 <br> 隐含的 lin 中断。和 block 元素。

演示:http://jsfiddle.net/BN5N6/12/

关于javascript - 将插入符号值设置到某个位置后无法获取插入符号位置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16237375/

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