使用jQuery的click事件和button元素出现的问题

8 浏览
0 Comments

使用jQuery的click事件和button元素出现的问题

我已经搜索了这个主题,但没有找到有用的东西。在我的情况下,我有一个带有点击事件的jQuery-ui按钮。这个点击事件工作正常,但它总是在文本输入框中按下回车键时被调用。演示在这里:http://jsfiddle.net/vcfzJ/希望有人能帮助。我通过检查event.target.nodeName来做了一个变通的解决方法。

0
0 Comments

问题的原因是button元素在默认情况下是一个用于提交表单的元素,所以在文本框中按下回车键会提交表单。

<button>x</button> 等同于 <button type="submit">x</button>

可以使用以下方法将button元素设置为非提交元素:

<button type="button">x</button>

然而,这似乎很奇怪,因为实际上并没有点击按钮,但是这个问题的答案似乎是这样的:

https://stackoverflow.com/a/4763911/1300235

确实,这样会导致按下回车键提交表单(至少在Chrome浏览器中),因此需要添加以下代码来禁止表单提交:$("form").submit(function() { return false; }); live test case

是的,确实会这样,但是问题的提问者没有明确指定按下回车键是否应该提交表单。或者按钮是否应该提交表单,因此如果按钮仍然应该提交表单,则我的答案完全错误。

很有道理。好吧,如果不希望按下回车键提交表单,你已经有了解决方案。

0