Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中,为什么blur方法会触发blur事件,而submit方法不会触发submit事件?_Javascript_Dom - Fatal编程技术网

在JavaScript中,为什么blur方法会触发blur事件,而submit方法不会触发submit事件?

在JavaScript中,为什么blur方法会触发blur事件,而submit方法不会触发submit事件?,javascript,dom,Javascript,Dom,我正在考虑通过调用元素的blur方法来强制运行onblur处理程序。但后来,我认为它不起作用,因为我记得对FormElement调用submit不会导致其onsubmit方法运行 经过一些实验,我发现调用blur确实会导致元素的onblur处理程序被调用。这看起来很不一致,并不是说这让我感到惊讶(毕竟这是JS)。不过,如果有充分的理由,我想知道。在模糊但不提交的情况下,是否有充分的理由调用处理程序?我同意这似乎不一致。我认为OnSubmit行为有一大堆遗留问题,因为它的许多功能都是为了让人们能够

我正在考虑通过调用元素的blur方法来强制运行onblur处理程序。但后来,我认为它不起作用,因为我记得对FormElement调用submit不会导致其onsubmit方法运行


经过一些实验,我发现调用blur确实会导致元素的onblur处理程序被调用。这看起来很不一致,并不是说这让我感到惊讶(毕竟这是JS)。不过,如果有充分的理由,我想知道。在模糊但不提交的情况下,是否有充分的理由调用处理程序?

我同意这似乎不一致。我认为OnSubmit行为有一大堆遗留问题,因为它的许多功能都是为了让人们能够在表单元素内部进行编码而设计的。为此,onsubmit用于验证输入,而无需打开源代码编辑器或javascript文件。我的猜测是,当他们(很久以前)编写这种行为时,这似乎是明智的,因为一旦使用javascript,程序员就可以轻松地自己验证输入,因此无需进行自动检查。对我来说似乎是个疏忽

以下关于quirksmode的网站特别警告了这一点,所以很明显很多人对此感到困惑