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