0

私は外国の複雑なjsコードをデバッグしています。ボタンがあります。押すとページがリロードされますが、そうはなりません。クリックハンドラーの内部を壊すと、それは完全に実行され、ページの再読み込み/更新は終了後に行われます。ハンドラーを終了した後、jqueryの深さに入ります。コードのどの部分がページをリロードするかを追跡するにはどうすればよいですか?ありがとう!

4

1 に答える 1

2

問題は、<button>宣言にtype属性が含まれていないことでした。HTML標準はそれについて次のように述べています。

type属性は、ボタンがアクティブ化されたときのボタンの動作を制御します。これは列挙された属性です。次の表に、属性のキーワードと状態を示します。左側の列のキーワードは、キーワードと同じ行の2番目の列のセルの状態にマップされます。

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

欠落している値のデフォルトは、送信ボタンの状態です。

type属性がSubmitButton状態の場合、要素は具体的には送信ボタンです。

送信ボタンのデフォルトのアクションは、フォームをサーバーに送信することです(したがって、ページをリロードします)。type="button"これを防ぐには、ボタンに属性を指定するか、クリックハンドラーでデフォルトのアクションを行わないようにする必要がありました。

すべてのケースを示すJSFiddle。

于 2012-10-14T10:21:46.520 に答える