用户输入文本输入时的html catch事件

Mat*_*att 17 html javascript jquery input typeahead

我只是想知道当用户在我的Web应用程序中输入文本输入字段时如何捕获事件.

场景是,我有一个联系人列表网格.在表单的顶部,用户可以键入他们试图找到的联系人的姓名.一旦文本输入中有多个字符,我想开始在系统中搜索包含用户输入的字符的联系人.因为他们不断输入数据变化.

它实际上只是一个简单的类型提前类型功能(或自动完成),但我想在不同的控件中启动数据.

一旦输入失去焦点,我就可以从输入中获取文本,但这不适合这种情况.

有任何想法吗?

谢谢

ade*_*neo 19

使用keyup事件在用户键入时捕获值,并执行搜索该值所做的任何操作:

$('input').on('keyup', function() {
     if (this.value.length > 1) {
          // do search for this.value here
     }
});
Run Code Online (Sandbox Code Playgroud)

另一个选择是input事件,从键,粘贴等捕获任何输入.


小智 12

为什么不使用HTML oninput事件?

<input type="text" oninput="searchContacts()">
Run Code Online (Sandbox Code Playgroud)

  • 如果没有不必要的开销,这就不好玩了。 (6认同)

sya*_*ani 6

我会使用' input '和' propertychange '事件.它们也可以通过鼠标进行切割和粘贴.

另外,请考虑对您的事件处理程序进行去抖动,以便快速打字员不会受到许多DOM刷新的惩罚.