javascript - JS如何判断用户连续输入完?
天蓬老师
天蓬老师 2017-04-10 15:56:05
0
16
1402

比如一个input输入框,在用户连续输入完之后才触发返回当前输入值,输入过程中不触发。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(16)
刘奇

两种方式,判断用户输入停顿多长时间后才触发;用户每次按下键盘时带入当前时间与方法体内已获取的时间做比对,超过某一间隔及触发,如150毫秒。
这两种都是在一个定时器循环里做

巴扎黑
//失去焦点时触发
$("input").blur(function(){
  $("input").css("background-color","#D6D6FF");
});
阿神

使用间隔时间 和 离开焦点

黄舟

keyup的时候,在回调函数内用setTimeout生成一个事件队列,你的返回在这setTimeout函数中执行,如果用户连续输入时在keyup监听时候清除掉该队列。
var queue;

input.on('keyup', function (e) {

clearTimeout(queue);
queue = setTimeout(function () {//这里返回}, 1000);

});

输入过程我认为就是一段时间内没有停顿。。

伊谢尔伦

我用propertychange,即时监听input输入框内的任何改变:
$("#inputId").bind('input propertychange',function(){
//...
})
虽然有资料说onpropertychange事件是IE专有,但用最新的firefox40.0+,chrome45.0+实测都是可行的

左手右手慢动作

其实有方法的,就像微博发布框:给textarea加focus后,然后给body加一个属性

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template