首页 > 解决方案 > focusOut、input 的 IE11 事件触发问题

问题描述

我有一个输入文本框,上面有诸如 focusOut、input 等事件的处理程序

现在,我希望首先触发/处理“输入”事件,然后是“focusOut”(因为我在 focusOut 中使用输入的值)

上述序列在 Chrome、FF 上始终有效。但是,在 IE11 中,顺序有点不可预测,即在某些情况下,focusOut 先触发然后输入

根据我的观察,这主要是当我在该字段中输入值并使用鼠标直接单击表单上的提交 btn 时。这是一个已知的 IE11 问题吗?

标签: javascriptjqueryinternet-explorer-11

解决方案


看起来你是说 onfocusout 先执行然后 oninput 事件。

我尝试用 IE 浏览器测试这个示例代码,它看起来不错。

<!doctype html>
<html>
<head>
</head>
<body>
<input type="text" id="input" onfocusout="alert(this.value)"> oninput: <span id="result"></span><br>
<input type="submit" value="submit">
<script>
  input.oninput = function() {
    result.innerHTML = input.value;
  };
</script>
</body>
</html>

输出:

在此处输入图像描述

如果我遗漏了什么,请告诉我。我会努力纠正自己。


推荐阅读