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

时间:2019-02-04 12:55:16

标签: javascript vue.js vuejs2 internet-explorer-11

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

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

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

仅在IE11中发生

有什么解决方法吗?

2 个答案:

答案 0 :(得分:2)

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

  

<select>不会触发输入事件。   (取消)选中复选框或单选按钮时不会触发输入事件。   https://caniuse.com/#search=oninput

  

[IE]完全忽略了输入事件(在范围输入上)。   他们的change事件的行为就像其他浏览器上的input事件一样    https://blog.vendivel.com/javascript/2016/01/31/ie-oninput-bug.html

如果您需要按键处理(尽管此功能不支持粘贴操作),则可以将keyup事件用作替代项,或者,如果可以等到用户已完成数据输入。

答案 1 :(得分:1)

原来,我将placeholder设置为空字符串。所以实际上我有一个组件,它是<input>的包装。在此组件中,我有一个placeholder属性,该属性默认情况下设置为空字符串,并应用于<input>标记。

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