用于检测<输入>中的文本何时滚动的事件

Event to detect when the text in an <input> is scrolled?

本文关键字:文本 何时 滚动 事件 检测 输入 用于      更新时间:2023-09-26
滚动

<input> -tag 中的文本时是否有触发的事件?我的意思是当里面的文本很长并且您将输入插入符号移动到它的末尾时,依此类推。

在布局中滚动时,您可以在元素上捕获一个scroll事件,但这不是我想要的。

更新:这是一个测试所讨论事件的小提琴:http://jsfiddle.net/lborgman/L8k5ggnk/3/

没有跨浏览器工作的特定事件。当文本通过更改插入点"滚动"时,Firefox 确实会触发 scroll 事件,但 Chrome 和其他浏览器可能不会。

下面是可能更改插入点的事件列表。

  • input
  • keydown
  • keyup
  • focus
  • blur
  • click
  • change
  • paste
  • cut
  • scroll
  • wheel
  • dragover

将事件侦听器绑定到所有这些应该足以响应插入点的更改。我相信上面的列表是完整的,但如果我错过了任何内容,请告诉我!

你试过插入符号插件吗?

您可以使用以下方法获取插入符号的位置:

pos = $(textarea).caret()

并在它再次变化时抓住。如果后者与第一个不同,则您知道用户已移动到输入内。