Firefox:onchange 触发而不改变
Firefox: onchange triggers without changing
在 WebKit 中 onchange 仅在文件更改时触发,在 Firefox 中则不会。
这是一个已知问题,但我只发现如何使 chrome 的行为像 Firefox 而不是相反。
var control = $('label.empty > input');
$(control).on('change', function(){});
我怎样才能让它在 firefox 中只在文件发生变化时工作?
Related.
你可以试试这个,
如果文件输入是
<input type="file" id="fileId"/>
Javascript 代码 -
document.getElementById("fileId").addEventListener("change", function(){
console.log("file changed...");
// put you on change code here
},false);
您可以存储文件输入的旧值并将其检查为新值。
如果匹配,return;否则就是新的。
document.querySelector('input').addEventListener('change', function(){
if(this.__value__===this.value) return;
this.__value__=this.value;
alert('new One!');
});
<input type="file">
在 WebKit 中 onchange 仅在文件更改时触发,在 Firefox 中则不会。 这是一个已知问题,但我只发现如何使 chrome 的行为像 Firefox 而不是相反。
var control = $('label.empty > input');
$(control).on('change', function(){});
我怎样才能让它在 firefox 中只在文件发生变化时工作?
Related.
你可以试试这个,
如果文件输入是
<input type="file" id="fileId"/>
Javascript 代码 -
document.getElementById("fileId").addEventListener("change", function(){
console.log("file changed...");
// put you on change code here
},false);
您可以存储文件输入的旧值并将其检查为新值。
如果匹配,return;否则就是新的。
document.querySelector('input').addEventListener('change', function(){
if(this.__value__===this.value) return;
this.__value__=this.value;
alert('new One!');
});
<input type="file">