我有一个设置为@input="onInput"
的输入。
在onInput
方法中,我输出了一些控制台信息(基本上只是even.currentTarget.value)
。我注意到在IE11中,当我集中输入然后按任意按钮(或使用ctrl+v
)一次控制台中没有输出。
然后,第二次尝试调用处理程序,event.currentTarget.value
拥有整个字符串。
仅在IE11中发生
有什么解决方法吗?
答案 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,这很有帮助