12

このチュートリアルから、次のように述べられています。

preventDefault();ブラウザのデフォルトの動作を停止します。

の例をオンラインで検索しましたが、preventDefault()使用する 2 つの状況 (リンク、フォーム) でしか確認できませんpreventDefault(): 送信ボタンがフォームを送信できないようにすることと、リンクが URL をたどることができないようにすることです。

だから、私の質問は:

  1. 他にどのような状況で使用できますpreventDefault()か?

  2. すべてのブラウザのデフォルトの動作を確認するにはどうすればよいですか? たとえば、ボタンをクリックした場合、ブラウザのデフォルトの動作は何ですか?

4

4 に答える 4

8

1. preventDefault() を使用できるその他の状況は?

実際には、どのタイプのイベントでも、preventDefault(); 送信ボタンだけでなく、キープレス、スクロール イベントなど、デフォルトの動作を停止することができます。名前を付けて、発生を防止できます。または、デフォルトの動作に独自のロジックを追加したい場合は、イベントまたは選択したものをログに記録することを考えてください。

2.すべてのブラウザのデフォルトの動作を確認するにはどうすればよいですか? たとえば、ボタンをクリックした場合、ブラウザのデフォルトの動作は何ですか?

これはどういう意味ですか?ほとんどの場合、デフォルトの動作は一種の暗示です。ボタンをクリックすると、onclick イベントが発生します。送信ボタンをクリックすると、フォームが送信されます。ウィンドウがスクロールすると、onscroll イベントが発生します。

于 2013-07-01T09:43:57.173 に答える
1

DOM 内のすべてのアイテムには、いくつかの「デフォルトの動作」があります。これは、すべてのブラウザーでほぼ同じです (一部の例外を除く)。デフォルトの動作の代わりに独自のロジックを実行する場合は、 preventDefault() 関数を使用できます。同じことが stopPropagation() 関数にも当てはまります。これは、独自のロジックを実行したいだけで、それ以降は何もしたくない場合に、イベントがイベント ツリーにバブリングするのを防ぎます。

于 2013-07-01T09:43:41.187 に答える