1

ボタン クリック イベント内で関数を呼び出そうとしています。

$('#btn_save').button().click(function(){
   executeStatement(); 
});

$.fn.executeStatement = function(){
    alert("Here!!!");
    $.ajax({                                      
      url: 'api.php',                          
      data: sqlStatement,                   

      dataType: 'json',               
      success: function(data)          
      {
        alert("Success!!!");
      } 
    });
  }

問題は、デバッガーによると定義されていないため、呼び出されないことです。Uncaught ReferenceError: executeStatement is not defined

誰かが私に何が間違っているのかヒントを教えてもらえますか? 前もって感謝します

4

3 に答える 3

5

jQuery プラグインを作成しようとしている場合を除き (そうではないと思いますか?)、関数宣言を次のように変更します。

function executeStatement(){
   //code here
}
于 2013-03-28T16:36:11.487 に答える
3

前の回答を詳しく説明すると、$.fn は jquery の名前空間のようなものです。$ で始まるものすべて。jqueryの一部です。$.fn に関数を追加することで、実際に jquery に機能を追加できますが、それはおそらくあなたが望むものではありません。

私も最初はこれが非常に紛らわしいと思ったので、わかりやすくしようと思いました。

于 2013-03-28T16:40:44.017 に答える
3

カートの答えは完全に正しいです。しかし、私はそれに追加すると思いました。

function executeStatement(){}

これは関数宣言と呼ばれ、この場合に機能します。

var executeStatement = function(){};

これは関数式と呼ばれ、このシナリオでも機能します。

于 2013-03-28T16:40:49.610 に答える