调用函数时出现问题

时间:2013-03-28 16:33:57

标签: javascript jquery function

我试图在按钮点击事件中调用一个函数。

$('#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

有人能给我一个提示有什么不对吗? 提前致谢

3 个答案:

答案 0 :(得分:5)

除非您尝试制作jQuery插件(我认为您不是这样?),否则请将您的函数声明更改为:

function executeStatement(){
   //code here
}

答案 1 :(得分:3)

为了详细说明上一个答案,$ .fn有点像jquery的命名空间。任何以$开头的东西。是jquery的一部分。实际上你可以通过向$ .fn添加函数来为jquery添加功能,但它可能不是你想要的。

我发现这一点也很让人困惑,所以我想我会试着澄清一下。

答案 2 :(得分:3)

柯特的回答是完全正确的。但我想我会加入它。

function executeStatement(){}

这被称为函数声明,在这种情况下将起作用。

var executeStatement = function(){};

这称为函数表达式,也适用于此场景。