0
   <!DOCTYPE HTML>
<html>
<head>  
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>   
    <script type="text/javascript">
    $("#myBtn").on("click",function(){
        alert('myBtn Clicked');
    });
    </script>
</head>
<body>
    <button type="button" id="myBtn">Sample</button>    
</body>
</html>

上記のコードの場合、クリックイベントは発生していません。私はJSFiddleを使用しました。委任の場合は正常に機能します。委任に使用したコードは以下のとおりです

<!DOCTYPE HTML>
<html>
<head>  
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>   
    <script type="text/javascript">
    $(document).on("click","button",function(){
        alert('myBtn Clicked');
    });
    </script>
</head>
<body>
    <button type="button" id="myBtn">Sample</button>    
</body>

これを解決するのを手伝ってください...

4

4 に答える 4

2

コードをdocument.ready()内に配置します

  <!DOCTYPE HTML>
<html>
<head>  
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>   
    <script type="text/javascript">
    $(document).ready(function(){
    $("#myBtn").on("click",function(){
        alert('myBtn Clicked');
    });
    });
    </script>
</head>
<body>
    <button type="button" id="myBtn">Sample</button>    
</body>
</html>

2番目のケースでは、ドキュメントが最初にページに読み込まれ、document.readyがなくても添付が行われる可能性があるため、コードが機能しましたが、その時点でhtml要素が読み込まれている可能性があるため、イベントを添付できません。

于 2012-06-19T11:41:48.340 に答える
2

Read http://docs.jquery.com/How_jQuery_Works

So for you it would be:

 $(document).ready(function(){
     $("#myBtn").on("click",function(){
        alert('myBtn Clicked');
     });
 });
于 2012-06-19T11:42:22.297 に答える
0

Initiliaze関数に入れてみてください。たぶんjqueryのjavascriptがロードされていません

$(function () {
    $(document).on("click","button',function(){  
            alert('myBtn Clicked');  
        });  

});
于 2012-06-19T11:41:21.147 に答える
0

シンプル:リスナーを追加するとき、DOMはまだロードされていません!DOMが最初にロードされることを確認してください

  • readyイベントを使用する
  • スクリプトタグを体の端に移動します

$( document ).ready(function(e) {
    // add listeners here
});
于 2012-06-19T11:42:41.080 に答える