我正在调试国外复杂的js代码。有一个按钮,当我按下它时,页面会重新加载,但这不应该发生。当我在click处理程序内部中断时,它将完全执行,并且页面重新上载/刷新在完成后发生。在我退出handler之后,我进入了jquery深度。我如何跟踪哪段代码会导致页面重新加载?谢谢!
发布于 2012-10-14 18:21:47
问题是<button>声明没有包含type属性。这是what the HTML standard says about that:
类型属性控制按钮被激活时的行为。它是一个枚举属性。下表列出了属性的关键字和状态-左列中的关键字映射到与关键字位于同一行的第二列中的单元格中的状态。
+---------+---------------+--------------------+ |关键字|状态|简要说明| +---------+---------------+--------------------+ |提交|提交按钮|提交表单。| reset | Reset Button |重置表单。| button | Button |不做任何事情。| +---------+---------------+--------------------+
缺失值的默认值是Submit Button状态。
如果type属性处于Submit button状态,则该元素特别是一个submit按钮。
submit按钮的默认操作是将表单提交到服务器(从而重新加载页面)。为了防止出现这种情况,您需要在按钮上指定type="button"属性,或者指定prevent the default action in your click handler.
https://stackoverflow.com/questions/12880884
复制相似问题