今天遇到一个需求需要判断是否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, 必须异步, 不然浏览器直接卡死崩溃,这个在本地测试不会出问题,到线上就出现(这个是查询资料时候看到的,暂时还未线上测试,先记下来,回头测试完再修改)

posted on 2021-05-06 14:20  代码书写人生  阅读(515)  评论(0编辑  收藏  举报