gpt4 book ai didi

javascript - 使用 textangular 在内容可编辑的 div 中记录和恢复插入符号的位置

转载 作者:行者123 更新时间:2023-11-28 03:15:36 26 4
gpt4 key购买 nike

我看过很多代码片段,详细说明了如何在可内容编辑的 div 中获取和设置插入符位置,但我无法让它在我的情况下工作:

我使用的是 WYSIWYG 文本编辑器 (textAngular)。我为用户提供了在光标位置插入交叉引用的功能。他们单击一个按钮,这会打开一个对话框供他们进行选择,然后会在当前光标位置插入一个 html 节点。

光标的位置可能在 div 中的子节点内,例如 p 标签和/或其他格式化标签。

我的问题是当对话框获得焦点时,当前光标位置丢失。在打开对话框之前,我尝试将插入符位置(节点和偏移量)存储在内存中,但无论我尝试什么,插入符位置总是返回到 div 的开头。我已经尝试了所有可以在 stackoverflow 上找到的代码片段,但没有一个有效。我想我遗漏了什么。

最佳答案

编辑:再想一想,您的问题可能是当您单击按钮时,可编辑的内容失去焦点,因此选择丢失。我们在 textAngular 中这样处理:toolElement.attr('unselectable', 'on');

最好的解决方案是使用 rangy 而不是 roll-your-own(textAngular ^1.3.0 要求)。

你可能被否决了,因为这与内容编辑中关于“保存和恢复”插入符号位置的 SO 问题非常相似,例如Saving and Restoring caret position for contentEditable div

对于 textAngular,我们已经多次处理过这个问题,并且我们在 TA (textAngular) 工具栏工具中内置了一些快捷方式和帮助程序。看看这里的任何问题:https://github.com/fraywing/textAngular/search?q=modal&type=Issues

如果您有特定于助教的问题,通常最好查看 github 存储库中的 500 多个问题。很可能之前已经尝试过类似的事情。

关于javascript - 使用 textangular 在内容可编辑的 div 中记录和恢复插入符号的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28148463/

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