input事件 输入中文再进行搜索的问题
2018-02-01 12:49
330 查看
触发compositionstart时,文本框会填入 “虚拟文本”(待确认文本),同时触发input事件;在触发compositionend时,就是填入实际内容后(已确认文本)。
为什么使用延时器?
因为选词结束的时候input会比compositionend先一步触发,此时cpLock还未调整为true,所以不能触发到console.log("逻辑"),故用setTimeout将其优先级滞后。
var cpLock = true; $('.com_search_input').on('compositionstart', function () { cpLock = false; // console.log("compositionstart") }); $('.com_search_input').on('compositionend', function () { cpLock = true; // console.log("compositionend") }); $(".com_search_input").on("input",function(e){ e.preventDefault(); var _this = this; // console.log("input"); setTimeout(function(){ if (cpLock) { //开始写逻辑 console.log("逻辑") } },0) })
为什么使用延时器?
因为选词结束的时候input会比compositionend先一步触发,此时cpLock还未调整为true,所以不能触发到console.log("逻辑"),故用setTimeout将其优先级滞后。
相关文章推荐
- 实时监听input标签输入 实时监听文本框输入 避免中文输入法无法触发onkeyup事件的问题
- vi 输入中文保存提示“不能进行转换”的问题
- <input>中中文输入时input事件处理
- 不同浏览器兼容问题—— input 添加required属性 firefox下输入框为红色 +禁止中文输入
- input事件中文触发多次问题研究
- input输入框输入中文时,需要计数input输入的汉字数,解决拼音输入的时候计数问题
- 关于Flex 4 里 TextInput 和TextArea 不能输入中文的问题
- input只能输入数字,对数字进行判断,且修复IE下无法使用光标,无法中间输入的问题
- 输入时触发事件,解决中文输入时的触发问题
- html中input元素的input事件对iphone原生中文输入法下的兼容问题
- [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
- 不同浏览器兼容问题—— input 添加required属性 firefox下输入框为红色 +禁止中文输入
- 解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题
- compositionEnd 和 input 事件(中文输入法问题)
- [Python爬虫] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
- 关于Flex中TextInput输入中文的问题
- datalist控件输入中文时事件触发问题分析
- 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
- 解决oninput事件在中文输入法下会取得拼音的值的问题
- Joomla!系统自带的搜索组件com_search如果输入中文关键词,有两个问题: