如何防止IE中的焦点/设置选择范围事件后输入事件触发?这里的代码示例:
var setSelectionRange = function (input, selectionStart, selectionEnd) {
if (input.setSelectionRange) {
input.focus();
input.setSelectionRange(selectionStart, selectionEnd);
}
else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', selectionEnd);
range.moveStart('character', selectionStart);
range.select();
}
};
答案 0 :(得分:0)
经过长时间的研究,我决定改变功能。输入字符串的条件。如果它不是焦点而不是焦点并设置插入位置。现在输入事件仅触发输入文本不为空。它是跨浏览器的解决方案。
答案 1 :(得分:0)
我遇到了同样的问题,并且发现了这个问题。我在addEventListener方法中切换为使用“ keydown”事件而不是“ input”事件。