比如一个input输入框,在用户连续输入完之后才触发返回当前输入值,输入过程中不触发。
欢迎选择我的课程,让我们一起见证您的进步~~
两种方式,判断用户输入停顿多长时间后才触发;用户每次按下键盘时带入当前时间与方法体内已获取的时间做比对,超过某一间隔及触发,如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加一个属性
两种方式,判断用户输入停顿多长时间后才触发;用户每次按下键盘时带入当前时间与方法体内已获取的时间做比对,超过某一间隔及触发,如150毫秒。
这两种都是在一个定时器循环里做
使用间隔时间 和 离开焦点
keyup的时候,在回调函数内用setTimeout生成一个事件队列,你的返回在这setTimeout函数中执行,如果用户连续输入时在keyup监听时候清除掉该队列。
var queue;
input.on('keyup', function (e) {
});
输入过程我认为就是一段时间内没有停顿。。
我用propertychange,即时监听input输入框内的任何改变:
$("#inputId").bind('input propertychange',function(){
//...
})
虽然有资料说onpropertychange事件是IE专有,但用最新的firefox40.0+,chrome45.0+实测都是可行的
其实有方法的,就像微博发布框:给textarea加focus后,然后给body加一个属性