查找在输入字段中编辑文本的位置

时间:2014-05-08 05:03:24

标签: javascript javascript-events

如果我想知道何时可编辑字段(例如输入文本字段或contenteditable div),我知道我可以使用keyup事件。

但是,我只能看到新文本是什么,以及编辑之前的文本是什么,但我想获得有关编辑的一些其他信息。

例如,如果输入文本最初为a且新文本为aa,则会出现模糊不清的情况。然后:

  • 可能是用户将光标放在a之前,然后键入另一个a
  • 也可能是用户将光标放在 a之后,然后键入另一个a
  • 甚至可能是用户突出显示a,然后按Ctrl + V(剪贴板中显示aa)。

我希望能够区分所有案例。例如,如果我可以获取表单的信息,请在a"处插入0。或者"删除范围0-1,同时在其位置插入aa"这对我的目的来说是完美的。

是否有可能获得此类信息?

1 个答案:

答案 0 :(得分:0)

您可以在编辑之前和之后“区分”文本,但是,这不允许您区分您提到的所有案例。我能想到的唯一机制是每次发生keydown事件时监视光标(或插入符号)位置,如下面的答案所述:

Get caret position in HTML input?