使用jQuery的click事件和button元素出现的问题
使用jQuery的click事件和button元素出现的问题
我已经搜索了这个主题,但没有找到有用的东西。在我的情况下,我有一个带有点击事件的jQuery-ui按钮。这个点击事件工作正常,但它总是在文本输入框中按下回车键时被调用。演示在这里:http://jsfiddle.net/vcfzJ/希望有人能帮助。我通过检查event.target.nodeName
来做了一个变通的解决方法。
问题的原因是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
是的,确实会这样,但是问题的提问者没有明确指定按下回车键是否应该提交表单。或者按钮是否应该提交表单,因此如果按钮仍然应该提交表单,则我的答案完全错误。
很有道理。好吧,如果不希望按下回车键提交表单,你已经有了解决方案。