VueJS 不会在 IE11 中的第一个输入时触发输入事件

VueJS does not fire input event on first input in IE11

我有一个设置了 @input="onInput" 的输入。

onInput 方法中,我输出了一些控制台信息(基本上只是 even.currentTarget.value)。我注意到在 IE11 中,当我聚焦输入然后按下任何按钮(或使用 ctrl+v ) 一旦控制台没有输出。

然后,第二次尝试调用处理程序并且 event.currentTarget.value 拥有整个字符串。

它只发生在 IE11

有什么解决办法吗?

IE 对某些字段类型的 input 事件没有很好的支持:

<select> doesn't fire input events. Doesn't fire an input event when (un)checking a checkbox or radio button. https://caniuse.com/#search=oninput

[IE] ignored the input event completely [on range inputs.] Their change event behaved just like the input event did on other browsers https://blog.vendivel.com/javascript/2016/01/31/ie-oninput-bug.html

如果您需要按键处理(虽然这不支持粘贴操作),keyup 事件可以用作替代,或者如果可以,您可以使用 change 事件等到用户完成输入数据。

原来我把placeholder设置成了一个空字符串。所以实际上我有一个组件,它是 <input> 的包装器。在这个组件中,我有一个 placeholder 属性,它默认设置为空字符串并应用于 <input> 标签。

我默认将占位符 属性 设置为空,这很有帮助