1

ボタンなどのHTMLページがあり、イベントリスナーを割り当てています。ボタンの1つがクリックされるたびに、ブラウザが閉じられて再び開かれたかのように、ページは元の状態に戻ります。したがって、情報を入力したテキストフィールドがある場合、イベントリスナーが何もしなくても、ボタンがクリックされるとすぐにクリアされます。

同様に、このイベントリスナーをhtmlに含める<body onload="pageLoaded();">と、ボタンがクリックされるたびにpageLoaded()関数が呼び出されます。

なぜこれが起こっているのですか、そしてどうすればそれが起こらないようにすることができますか?

4

3 に答える 3

1

おそらく、デフォルトのアクションをキャンセルしない限り、フォームを送信する送信ボタンを使用しています。

eventObject.preventDefault();

ドキュメントを参照してください。

于 2012-07-04T09:23:11.837 に答える
1

クリック イベント リスナーがフォーム内のリンクまたはボタンに追加された可能性があります。その場合return false、リスナーの最後に追加して、デフォルトの動作が実行されないようにすることができます。

var link = $("#mybutton");
link.click(function() {
    alert("clicked");
    return false;
});
于 2012-07-04T09:25:21.677 に答える
0

ボタンの種類を「ボタン」に設定すると、この問題は解決します。デフォルトのタイプは「送信」で、他の人が言ったようにフォームを送信します。

<button type="button">Button</button>
于 2012-07-14T18:20:43.207 に答える