在收听表单reset
事件时遇到了奇怪的问题。
reset
事件的内部回调我检查输入值,并且它没有立即更新,我必须等到下一个勾选,例如使用setTimeout(callback, 0)
或使用{{手动阻止默认和触发事件1}}
这是jsbin example所以你可以看到我在说什么 - 在输入一些值并点击重置按钮后,不应该将任何内容添加到el.reset()
元素。
我可以在Chrome和Firefox上看到同样的问题。
答案 0 :(得分:2)
重置事件在重置之前而不是之后调用,以便在需要时取消重置。
这个问题说,重置后做的事情的唯一方法就是在超时时调用一个函数:Call a function after form reset
答案 1 :(得分:1)
似乎黑客攻击此问题可能会覆盖onreset
属性。
无保证在其他浏览器中有效。
form.onreset=function(){
var b = input.value;
logger.innerHTML += b + "<br/>";
};
请在此处找到示例我已准备好http://jsbin.com/muzahuye/20/edit?html,js,output
在firefox上工作正常,至少28