2016-10-22 1 views
0

これらの構文の違いは何ですか?詳細を説明してください。これらの構文の違いは何ですか?詳細を説明してください。

$(document).on("click", "#index1", function() { 
    $(p).hide(); 
}); 
$("#index2").on("click", "#index1", function() { 
    $(p).hide(); 
}); 
$("#index1").on("click", function() { 
    $(p).hide(); 
}); 
+4

http://api.jquery.com/on/ – undefined

+0

を参照してください。 – adeneo

+0

スタックは学校やチュートリアルのサイトではありません。あなたが持っているコードの問題を助けを求めるためにあなたが来るところです。そして、これはコードのための有効な構文として私に見えます。さらに、あなたがIMHOのことについて言及していないので、それはあなたが読んでマニュアルから学び、何かを試してみて、何かがうまくいかなかったら、戻ってきて(本当の)質問。 –

答えて

2

最初に、クリックリスナーを「ドキュメント」に追加しますが、「#index1」をクリックした場合にのみ実行されます。 2番目に、 "index2"にリスナーを追加し、 "#index2"の中にある "#index1"をクリックした場合にのみ実行されます。 3番目のケースでは、「index1」にリスナーを追加するだけです。

+0

よかったです...私は二番目に混乱していました。今すぐクリア –

0

最初にウェブページを想像してみましょう。

<!DOCTYPE html> 
    <html> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <button id='index1'>click me</button> 
    </body> 
    </html> 
  1. スクリプトが実行している間に要素が存在していなかったので、これは、この文句を言わない仕事

    <!DOCTYPE html> 
    <html> 
    <head> 
        <title></title> 
    </head> 
    <body> 
        <button id='index1'>click me</button> 
        <script type="text/javascript"> 
         $("#index1").on("click", function() { 
          $(p).hide(); 
         }); 
        </script> 
    </body> 
    </html> 
    
  2. に動作します。

    <!DOCTYPE html> 
    <html> 
    <head> 
        <title></title> 
    </head> 
    <body> 
        <script type="text/javascript"> 
         $("#index1").on("click", function() { 
          $(p).hide(); 
         }); 
        </script> 
        <button id='index1'>click me</button> 
    </body> 
    </html> 
    

しかし、周りの作業となり

<!DOCTYPE html> 
    <html> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <script type="text/javascript"> 
      $(document).on("click", "#index1", function() { 
       $(p).hide(); 
      }); 
     </script> 
     <button id='index1'>click me</button> 
    </body> 
    </html> 

これは、クリックが#index1要素に解雇された場合は、クリックイベントは、文書のチェックに発射されるたびに述べています。したがって、要素が存在しない場合、コールバックはドキュメントノードにアタッチされます。ドキュメント上でクリックが発生するたびに、それが発信元かどうかを確認します。#index1

関連する問題