【发布时间】:2017-12-08 11:31:38
【问题描述】:
我注意到,在不同版本的 Internet Explorer 中,onchange 事件当输入的值被 js 函数更改时不会捕获,其他浏览器不会发生这种行为例如 Mozilla 或 Chrome。
调查了一下发现onchange在IE中被js修改值时不能保证正确操作:
function onchangeRequest(){
console.log('onchange fired');
}
function changeValue (input){
input.value += "hello"
}
<h4> focus lost doesnt invoke onchangeRequest() </h4>
<input id="valueInput" onkeyup="changeValue(this);" onchange="onchangeRequest();" />
<h4> focus lost invokes onchangeRequest() </h4>
<input id="valueInput" onchange="onchangeRequest();" />
对于 IE 无法正确解决这些情况的原因,我还没有找到令人信服的解释。这是我们必须处理的“已知错误”吗?是否有任何官方参考说明 IE 不保证 onchange 事件的正确行为?
【问题讨论】:
标签: javascript html internet-explorer