我想通过调用元素的blur方法来强制运行一个onblur处理程序。但后来,我认为它不起作用,因为我记得在FormElement上调用submit不会导致它的onsubmit方法运行。
经过一些实验,我发现调用blur会导致元素的onblur处理程序被调用。这似乎非常不一致,而不是让我感到惊讶(毕竟这是JS)。不过,如果有充分的理由,我想知道。是否有充分的理由在模糊的情况下调用处理程序但不提交?
答案 0 :(得分:2)
我同意这似乎不一致。我认为OnSubmit的行为有很多传统的包袱,因为它的大部分功能都是为了让人们可以在表单元素内编码而设计的。为此,onsubmit用于验证输入而不破解源编辑器或javascript文件。我的猜测是,当他们编码这种行为时(很久以前),这似乎是明智的,因为一旦你在javascript中程序员可以轻松地自己验证输入,所以不需要自动检查。对我来说似乎是一种疏忽。
以下关于quirksmode的网站特别警告过这一点,显然很多人都对此感到困惑。