博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
处理打拼音时触发input事件bug
阅读量:4677 次
发布时间:2019-06-09

本文共 1220 字,大约阅读时间需要 4 分钟。

1      /* 处理预输入,例如输入中文汉字时,拼音的预加载不触发输入事件*/ 2         var cpLock = false; 3         /* 添加搜索延迟*/ 4         var timeoutId = 0; 5          6         /* 重写查询事件,当输入框为空或者查询数据为空时面板回收,否则面板显示查询数据*/ 7         $("#search").unbind('input').bind('input', function(e){
         if(timeoutId != null) clearTimeout(timeoutId);          timeoutId = setTimeout(function(){
           /* 逻辑代码*/          }, 300}/* 此处做一个搜索延迟,避免因输入过快,导致发送过多的废请求*/ 9 })10 11 /* 处理打拼音时触发input事件bug,eg:https://developer.mozilla.org/zh-CN/docs/Web/Events/compositionstart*/12 $("#search").bind('compositionstart', function(){13 cpLock = true;14 });15 $("#search").bind('compositionend', function(){16 cpLock = false;17 if(timeoutId != null) clearTimeout(timeoutId);          timeoutId = setTimeout(function(){
           /* 逻辑代码*/          }, 300}/* 此处做一个搜索延迟,避免因输入过快,导致发送过多的废请求*/        }); 注意:由于谷歌与火狐的兼容不同,谷歌浏览器下的事件执行顺序为(compositionstart --> input --> compositionend) 火狐及其他浏览器的事件执行顺序为(compositionstart --> compositionend --> input) @compositionstart 拼音预输入执行事件; @compositionend 拼音预输入结束执行事件 @input 输入框检测输入时执行事件

 

转载于:https://www.cnblogs.com/hualuo-sign/p/9397481.html

你可能感兴趣的文章
项目杂记(MONTHS_BETWEEN,Having ,Spool)
查看>>
cmd ora-12560协议适配器错误
查看>>
Linux压缩解压缩(unzip,tar)
查看>>
kafka 在阿里云部署
查看>>
yum 命令下载安装Openjdk
查看>>
Hyperic
查看>>
(转)SimpleDateFormat使用
查看>>
设计模式有感
查看>>
react-native android 初始化问题
查看>>
最后一周总结
查看>>
教大家怎么给博客添加一个看板娘
查看>>
[设计模式]4、设计模式之工厂设计模式
查看>>
从尾到头打印链表(c++实现)
查看>>
videojs 播放 rtmp 感悟
查看>>
胖子哥的大数据之路(15):互联网企业数据战略运营规划之总决式
查看>>
popen() 使用举例 (转载)
查看>>
NSString的常用方法
查看>>
在Xcode中使用Git进行源码版本控制
查看>>
教程Xcode 下编译发布与提交App到AppStore
查看>>
指针链
查看>>