禁止非直接输入
var lock = false;
var inputEle = document.getElementById('inputEle');
// input 事件中的处理逻辑, 这里仅仅打印文本
var todo = function (text) {
console.log(text)
};
inputEle.addEventListener('compositionstart', function () {
lock = true;
});
inputEle.addEventListener('compositionend', function (event) {
lock = false;
// compositionend 事件发生在 input 之后,故此需要此处调用 input 中逻辑
todo(event.target.value);
});
inputEle.addEventListener('input', function (event) {
// 忽略一切非直接输入,不做逻辑处理
if (!lock) todo(event.target.value);
});

浙公网安备 33010602011771号