我在监听表单 reset
事件时遇到了奇怪的问题。
reset
事件的内部回调我检查输入值,它不会立即更新,我必须等到下一个滴答,例如 setTimeout(callback, 0)
或使用 el.reset()
这里是 jsbin example所以您可以明白我在说什么 - 在您将一些值插入输入并单击重置按钮后,不应向 div
元素添加任何内容。
我可以在 Chrome 和 Firefox 上看到同样的问题。
- 这是实现中的错误还是预期的行为?
- 如果是后者——为什么?
- 有没有比执行 setTimeout 或手动阻止默认和触发事件更好的解决方法?
最佳答案
重置事件在任何重置之前而不是之后被调用,让您有机会在需要时取消重置。
这个 SO 问题说重置后做某事的唯一方法是在超时时调用函数:Call a function after form reset
关于javascript - 奇怪的表单重置事件行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24656256/