【问题标题】:Focus event triggers input event in IE vs modern browsers焦点事件触发 IE 与现代浏览器中的输入事件
【发布时间】:2015-05-29 07:18:15
【问题描述】:

如何防止在 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();
    }
};

【问题讨论】:

标签: internet-explorer events input focus


【解决方案1】:

经过长期研究,我决定更改功能。输入字符串有条件。如果它不是空的,则焦点并设置插入符号位置。现在输入事件只触发输入文本不为空。这是跨浏览器的解决方案。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,发现了这个问题。我在 addEventListener 方法中切换为使用“keydown”事件而不是“input”事件。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2013-03-15
    • 2011-07-07
    • 2018-08-08
    • 1970-01-01
    相关资源
    最近更新 更多