我试图准备一些通过ajax返回的数据进行过滤和排序的功能,但我无法解决一个问题。
我在许多网站和Web应用程序中看到了处理文本输入字段的非常有趣的方式。当您输入内容时,什么也不会发生,但是如果您停止大约3秒钟,它就会启动并进行ajax请求,因此我开始尝试使用许多内置的jquery函数进行实验,但没有一个能够按照这种方式工作。
keyup
在您为字段提供每个字符时都会触发,因此行不通
change
需要您在字段外单击才能触发,这是可怕的解决方案
mouseleave
对于文本输入字段不起作用,离开输入时什么也不会发生
mouseout
,好吧,这个可以工作,当我将鼠标移出字段时,它就会触发,但它仍然要求用户每次调整搜索时都要移动鼠标进出,这比change
方法更糟糕
input
、keypress
、keydown
与keyup
相同,它们只有视觉上的区别,但方法保持不变,因此不行
因此,我想要实现的方法是在您停止输入后一段时间启动,并且不需要任何鼠标移动或单击,尽管我不知道如何解决它。
HTML
<input type="text" class="adjust" />
Javascript
$('.adjust').on('change', function() {
alert('event has fired');
});
如果有人愿意帮忙,我已经准备了一些初始的jsfiddle来进行实验: http://jsfiddle.net/eag9e/