3

e.preventDefault()がどのように機能するかをテストするための次のコードがあります。クリックイベントの発生を防ぐことができると思います。

     $(document).ready(function( )
     {

       $("button").click(function(e)
       {

         e.preventDefault();  

          alert('button clicked');

       });

      });

ボタンがあります。e.preventDefault()の目的は何ですか。私が読んだことから、それはこの場合はクリックであるアクションを防ぎます。

上記の例では、アラートメッセージが引き続き表示されることに注意してください。ボタンクリックに対してe.preventDefault()はどのように機能しますか。それがハイパーリンクである場合、ハイパーリンクがターゲットに到達するのを妨げることはわかっています。

4

5 に答える 5

7

PreventDefaultは、デフォルトのブラウザアクションを防止するためのものです。したがって、次のようなものを配置する場合:

$("a").click(function(e){e.preventDefault();})

リンクをクリックしても何も起こりません。または送信ボタンで-フォームは送信されません

于 2012-08-21T22:54:52.360 に答える
0

それが防ぐのは、DOMオブジェクトが「クリック」を受け取ることです。したがって、ボタンでフォームを送信する場合は、現在は送信されません。その後alert()は、あなたが言っているので、関係なく実行されます、ねえ!クリックを止めて、これを実行してください!

もっと読む

于 2012-08-21T22:53:50.307 に答える
0

イベントがトリガーされたに実行されるイベントハンドラーが設定されているため、クリックの発生を止めることはできません。

于 2012-08-21T22:55:18.317 に答える
0

$.preventDefault();「デフォルト」アクションが起こらないようにします。たとえば、すでに がhref割り当てられているアンカー リンクを取得し、そのアンカーに を追加すると、preventDefault();リンクはなくなります。

于 2012-08-21T22:56:29.347 に答える
0

独自の Click コールバック関数を追加しなくても、ブラウザで発生するイベントがまだあることを覚えておく必要があります。たとえば、「a」タグの場合、これは href 属性に URL をロードすることであり、送信ボタンの場合は次のようになります。フォームの「アクション」属性で URL に投稿/取得する - どちらの場合も、e.preventDefault() はこの発生を停止します。

于 2012-08-21T22:57:29.027 に答える