$("input").on("focus",function(){
$("input").on("keyup",function(){
var neirong = $(this).val();
if($(this).val() != ""){
$(".search-result").css("display","block");
$(".search-result .result-tt").find("a").text("搜"+neirong+"的用户");
}
if($(this).val() == ""){
$(".search-result").css("display","none");
}
});
});
请问一下为什么当我要输入中文,我中文还没打出来的时候,搜索框就出来了,这是我代码的问题,还是我少了哪一步判断啊????
前端辣鸡小白,希望有大神不嫌弃愿意帮帮我。。感激
监听input事件就行了,你这个嵌套完全没必要,且把代码搞复杂了
-------------更新------------------
开始中文输入时会触发compositionstart事件
选词结束后会触发compositionend事件
类似于keydown和keyup
解决办法,在外层设置一个状态flag,在这两个事件过程中flag=false,在事件完成后flag=true。