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

Curt 的回答是完全正确的。但我想我会添加它。

function executeStatement(){}

这称为函数声明,在这种情况下可以使用。

var executeStatement = function(){};

这称为函数表达式,在这种情况下也可以使用。

于 2013-03-28T16:40:49.610 回答