javascript - 奇怪的表单重置事件行为

标签 javascript html

我在监听表单 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/

相关文章:

javascript - 搜索按钮不起作用

javascript - JSF 复杂级联单选按钮

html - 正常给出的行高值在不同的机器上是不同的

javascript - .queue() 和 jquery.queue() 之间的区别

html - 如何阻止 <nav> 在中间 split

javascript - 嵌套 HTML 按钮不会执行 javascript

javascript - 在 Apps 脚本和 Google Sheets 中使用 ImportHTML 进行数据抓取

javascript - 导航栏折叠后不展开?

javascript - 如何使用 Javascript 创建带有 Sprite Sheet 的动画按钮?

javascript - JQuery - 不要在按钮成功/错误上添加悬停类