html中input元素的input事件对iphone原生中文输入法下的兼容问题

前端工作中,form表单输入图片验证码,需要在用户输入四个验证码(验证码固定长度)后自动验证图片验证码正确性,一般代码会这样




    
    test html css
    


    
    $('#pic-code').on('input',function(){
        if($(this).val().length == 4){
                //send ajax 
        }
    })    

上面代码在iphone原生输入法的中文输入状态下,输入三个字母机会触发ajax验证请求,这个问题在input 事件兼容处理以及中文输入法优化一文中有详细解决方案,就是添加compositionstart和compositionend事件监听,只有当compositionend时才检查input中字母的长度,compositionstart时不检查就好了

转载于:https://www.cnblogs.com/dannyliu/p/5435595.html

你可能感兴趣的:(html中input元素的input事件对iphone原生中文输入法下的兼容问题)