是否可以在不轮询的情况下观看文本区域中的插入符号位置

Is it possible watch the caret position in a textarea without polling?

本文关键字:区域 文本 插入 位置 符号 情况下观 是否      更新时间:2023-09-26

我希望每次插入符号或选择在文本区域中移动时执行一个回调函数。
有人知道该怎么做吗?

编辑:我知道如何检索卡雷特位置。我对如何观察变化感兴趣。以我目前的知识,我会在每个向上/鼠标向上/鼠标向上测试 卡雷特位置。有没有更智能(和更高性能(的方法可以做到这一点。有没有事件可能会改变我没有想到的卡雷特位置?

有一个 DOM 事件 onSelect 您可以使用,但只有当该移动影响选择时,它才会拾取插入符号移动。这是一个带有演示的 JSBin:

http://jsbin.com/eyaril/4/edit

只需在框中选择文本并在Firebug中查看输出即可。

最后,在探索了每种可能的解决方案之后,我终于发现,对于大量文本,没有高性能的方法可以做到这一点。

除了等待我的 Web 应用程序满足使用现代文本区域替换库的技术要求(= 不依赖于 ie quirks 模式(之外,我没有其他解决方案。