Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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 使用enter提交表单时,将触发“单击事件”按钮_Javascript_Html_Forms_Dom Events - Fatal编程技术网

Javascript 使用enter提交表单时,将触发“单击事件”按钮

Javascript 使用enter提交表单时,将触发“单击事件”按钮,javascript,html,forms,dom-events,Javascript,Html,Forms,Dom Events,我有一个表单,有两个按钮,一个是input[type=submit],另一个是普通的按钮,即取消按钮 我有两个事件处理程序,一个绑定到提交上的表单,另一个绑定到单击上的按钮 当我在输入中按enter键提交表单时,按钮上的单击事件会触发(在我可能添加提交事件之前),这是为什么 这在gecko和webkit中都会发生 下面是一个工作示例: 如果按enter键进行提交,我希望触发提交事件,而不是单击事件。如果将按钮更改为我也找到了此解决方案。如果将type属性设置为“button”My button

我有一个表单,有两个按钮,一个是
input[type=submit]
,另一个是普通的
按钮,即取消按钮

我有两个事件处理程序,一个绑定到
提交
上的
表单
,另一个绑定到
单击
上的
按钮

当我在输入中按enter键提交表单时,按钮上的单击事件会触发(在我可能添加提交事件之前),这是为什么

这在gecko和webkit中都会发生

下面是一个工作示例:


如果按enter键进行提交,我希望触发提交事件,而不是单击事件。

如果将按钮更改为
我也找到了此解决方案。如果将type属性设置为“button”
My button
,则不会提交。我认为默认情况下不指定类型会将其设置为提交。因此,您不必将元素更改为输入


资料来源:

@NicklasA。行为描述如下:--表单中的按钮默认提交,如果不应该这样做,则需要仔细指定。我也遇到了这种情况,我花了大约一个小时搜索了整个web,没有找到任何关于这种行为的文档,如果您发现了什么,请告诉我。您是根据哪个答案构建的?