我试图在按钮点击事件中调用一个函数。
$('#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
有人能给我一个提示有什么不对吗? 提前致谢
答案 0 :(得分:5)
除非您尝试制作jQuery插件(我认为您不是这样?),否则请将您的函数声明更改为:
function executeStatement(){
//code here
}
答案 1 :(得分:3)
为了详细说明上一个答案,$ .fn有点像jquery的命名空间。任何以$开头的东西。是jquery的一部分。实际上你可以通过向$ .fn添加函数来为jquery添加功能,但它可能不是你想要的。
我发现这一点也很让人困惑,所以我想我会试着澄清一下。
答案 2 :(得分:3)
柯特的回答是完全正确的。但我想我会加入它。
function executeStatement(){}
这被称为函数声明,在这种情况下将起作用。
var executeStatement = function(){};
这称为函数表达式,也适用于此场景。