如上图 标题input输入框我做了用户输入字数的限制,用键盘的keyup事件,用搜狗拼音输入的时候,firefox,ie都正常的,当你把全部汉字打完后按空格,内容填到input中。chrome浏览器比较恶心,输入汉字时候,一边输入一边拼音就进入输入框,本来可以输入一个汉字的,结果拼音一输入,直接截断。
不知道我说明白没有,求大牛指教,谢谢
如上图 标题input输入框我做了用户输入字数的限制,用键盘的keyup事件,用搜狗拼音输入的时候,firefox,ie都正常的,当你把全部汉字打完后按空格,内容填到input中。chrome浏览器比较恶心,输入汉字时候,一边输入一边拼音就进入输入框,本来可以输入一个汉字的,结果拼音一输入,直接截断。
不知道我说明白没有,求大牛指教,谢谢
不知道这个能不能帮到你
可以采用compositionstart和compositionend来捕获IME(input method editor)的启动和关闭事件。
$("#keyup,#keydown,#keypress,#change,#input").on("click",function(){
var oevent=this.id;
$("#oinput").off().on({
oevent:function(e){
},
compositionstart:function(){
$("#result").text("中文输入:开始")
},
compositionend:function(){
$("#result").text("中文输入:结束")
}
})
//alert(oevent)
})
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
尽可能用input事件代替keyup或者keydown事件。当然这个建议和这个问题无关。
这个问题的解决方案最好是用延时限制,即用户连续输入时不限制,等用户输入在一段时间内都没变化时才限制。或者使用change或blur事件的时候限制(这个不是实时触发的)。