【发布时间】:2013-09-13 04:47:27
【问题描述】:
为什么在这个示例中,当我在输入文本中按“Enter”时,它会执行onclick?使用<input type="button"> 时不会...
【问题讨论】:
-
这更多的是浏览器行为,而不是 angularjs
标签: html forms events button input
为什么在这个示例中,当我在输入文本中按“Enter”时,它会执行onclick?使用<input type="button"> 时不会...
【问题讨论】:
标签: html forms events button input
元素<button> 默认有type="submit"。见http://www.w3.org/TR/html401/interact/forms.html#h-17.5
解决方案:如果您不希望调用按钮的单击处理程序,请明确指定 type="button"。
<form name="myForm">
<button type="button" id="test">Click</button>
<input type="text" name="q" />
</form>
(至少在某些浏览器上,按 Enter 仍会提交表单。)
关于您对<input type="button"> 行为不同的评论:没错。 type="button" 的输入与 type="button" 的按钮作用相同,而 type="submit" 的输入与 type="submit" 的按钮作用相同。
【讨论】: