在输入中文会先后触发compositionstart、input、compositionend事件,类似于keydown和keyup的组合,
触发compositionstart时,文本框会填入 “虚拟文本”(待确认文本),同时触发input事件;在触发compositionend时,就是填入实际内容后(已确认文本),那么当调用compositionstart 时需要阻止触发input
代码如下:
var cpLock =true;
$('#searchPeople').off().on({
compositionstart:function () {//中文输入开始
cpLock =false;
},
compositionend:function () {//中文输入结束
cpLock =true;
that.userWorkUserList(cpLock) 输入框输入时这里触发 事件
},
input:function () {//input框中的值发生变化
that.userWorkUserList(cpLock) 删除输入框内容时调起这里的方法
}
})
userWorkUserList:(val){
if(val){ //cpLock 为false状态下阻止触发 true 状态下触发事件
}
}