jq判断中文是否输入完成compositionstart和compositionend

今天遇到一个需求需要判断是否input输入完中文,然后使用了compositionstart和compositionend

var flag = false;
            $("#"+a).next().find('input').on('compositionstart', function () {
                flag = true;
            
            });
            $("#"+a).next().find('input').on('compositionend', function () {
                flag = false;
              
            });
            return flag;

注意: 因为谷歌浏览器跟其他浏览器的执行顺序不同, 谷歌是 compositionstart  => 监听input事件 => compositionend,   其他浏览器是 compositionstart  => compositionend => 监听input事件,

           所以 要在 compositionend 里面判断是否是谷歌浏览器;

另外就是 即时搜索input监听  ajax  请求接口的时候,不同做同步 async: false, 必须异步, 不然浏览器直接卡死崩溃,这个在本地测试不会出问题,到线上就出现(这个是查询资料时候看到的,暂时还未线上测试,先记下来,回头测试完再修改)

原文地址:https://www.cnblogs.com/zdzdbk/p/14734985.html