0

我在调试国外复杂的js代码。有按钮,当我按下它时,页面会重新加载,但这不应该发生。当我打破点击处理程序时,它会完全执行并且页面重新加载/刷新在它完成后发生。退出处理程序后,我进入 jquery 深度。如何跟踪使页面重新加载的代码?谢谢!

4

1 回答 1

2

问题是<button>声明不包含该type属性。以下是 HTML 标准对此的说明:

type 属性控制按钮被激活时的行为。它是一个枚举属性。下表列出了属性的关键字和状态 — 左列中的关键字映射到与关键字在同一行的第二列中的单元格中的状态。

+---------+---------------+--------------------+
| Keyword |     State     |  Brief description |
+---------+---------------+--------------------+
| submit  | Submit Button | Submits the form.  |
| reset   | Reset Button  | Resets the form.   |
| button  | Button        | Does nothing.      |
+---------+---------------+--------------------+

缺失值默认为提交按钮状态。

如果 type 属性处于 Submit Button 状态,则该元素具体是一个提交按钮。

提交按钮的默认操作是将表单提交到服务器(从而重新加载页面)。为防止这种情况,您需要type="button"在按钮上指定属性,或阻止单击处理程序中的默认操作。

JSFiddle 显示所有案例。

于 2012-10-14T10:21:46.520 回答