用于检测<input />中的文本何时滚动的事件?

时间:2014-12-30 21:48:56

标签: javascript html5 events scroll

当滚动<input> - 标记内的文本时是否会触发事件?我的意思是当里面的文本很长并且你将输入插入符号移动到它的末尾时等等。

当在布局中滚动元素时,可以捕获元素scroll,但这不是我想要的。

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

2 个答案:

答案 0 :(得分:4)

没有特定的事件可以跨浏览器使用。当文本&#34;滚动&#34;时,Firefox会触发scroll事件。通过更改插入点,但Chrome和其他浏览器可能不会。

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

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

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

答案 1 :(得分:2)

您是否尝试过Caret Plugin

您可以通过以下方式获得插入符号的位置:

pos = $(textarea).caret()

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