7

如何使用 jQuery 捕捉文本区域内的“光标位置更改”事件(也应该在 IE6 中工作)?

示例 1

之前:文本 |

之后:te|

示例 2

之前:文本 |

之后:文本 tex|t2

示例 3

之前:文本 |

之后:|


编辑

捕获光标事件后 - 还需要检查光标是否改变了他的位置(也必须为 IE6 工作)

编辑2

如果您有在 IE6 中无法使用但在 IE7+webkit 中无法使用的解决方案,请编写

4

2 回答 2

16

基本上有三个事件可以导致光标改变位置,

  1. 击键

  2. 鼠标点击

  3. 程序化事件,如粘贴、选择、聚焦……

    无论您试图通过“光标位置更改”来完成什么,我都会捕获这些事件

添加的代码示例:

$("#myTextInput").bind("keydown click focus", function() {
  alert("Current position: " + $(this).caret().start);
});

感谢@Nick Craver

于 2011-04-29T13:33:42.403 回答
1

我发现 select 事件似乎涵盖了对插入符号位置的所有更改。

于 2018-07-05T18:06:56.557 回答