admin管理员组

文章数量:1583045

input输入框输入中文时,需要即时查询出匹配输入内容的结果,一般我们会使用input事件监听用户输入事件,但是在输入汉语   拼   音时,也会触发input事件,前端就会不断发送请求,导致无法正常拼写中文。    var flag= false;    $('#ajax_input').on('compositionstart', function (){        flag= true;    });    $('#ajax_input').on('compositionend', function () {        flag= false;    });    $('#ajax_input').on('input', function () {        if (!cpLock) {           // TODO        }    }); 原理: 当浏览器有非直接的文字输入时,compositionstart事件会以同步模式触发. 当浏览器是直接的文字输入时,compositionend会以同步模式触发. 当元素监听到 compositionstart事件,给input中事件加锁,禁止input中事件执行,当元素监听到 compositionend事件,给input中事件解锁,正常执行。

本文标签: 事件输入法Input