Javascript 调用函数时遇到问题
我试图调用按钮单击事件中的函数Javascript 调用函数时遇到问题,javascript,jquery,function,Javascript,Jquery,Function,我试图调用按钮单击事件中的函数 $('#btn_save').button().click(function(){ executeStatement(); }); $.fn.executeStatement = function(){ alert("Here!!!"); $.ajax({ url: 'api.php',
$('#btn_save').button().click(function(){
executeStatement();
});
$.fn.executeStatement = function(){
alert("Here!!!");
$.ajax({
url: 'api.php',
data: sqlStatement,
dataType: 'json',
success: function(data)
{
alert("Success!!!");
}
});
}
问题是它从未被调用,因为根据调试器它未定义:uncaughtreferenceerror:executeStatement未定义
有人能给我一个提示吗?
提前感谢除非您正在尝试制作jQuery插件(我想您不会吧?),否则请将您的函数声明更改为:
function executeStatement(){
//code here
}
除非您试图制作jQuery插件(我想您不会吧?),否则请将您的函数声明更改为:
function executeStatement(){
//code here
}
为了详细说明前面的答案,$.fn有点像jquery的名称空间。任何以美元开头的东西。是jquery的一部分。实际上,您可以通过向$.fn添加函数来向jquery添加功能,但这可能不是您想要的
一开始我也觉得这很让人困惑,所以我想我应该试着澄清一下 为了详细说明前面的答案,$.fn有点像jquery的名称空间。任何以美元开头的东西。是jquery的一部分。实际上,您可以通过向$.fn添加函数来向jquery添加功能,但这可能不是您想要的
一开始我也觉得这很让人困惑,所以我想我应该试着澄清一下 科特的回答完全正确。但我想我会增加它
function executeStatement(){}
这称为函数声明,在本例中有效
var executeStatement = function(){};
这称为函数表达式,在这种情况下也适用。Curt的回答完全正确。但我想我会增加它
function executeStatement(){}
这称为函数声明,在本例中有效
var executeStatement = function(){};
这称为函数表达式,也适用于此场景。
$.executeStatement()代码>$.executeStatement()代码>这个正在工作。我只是好奇,我试图创建另一个js文件,并在其中声明了这个方法。然后我尝试调用它,但它不再工作(未定义)。(顺便说一句,新的js文件已导入..)。如何做到这一点,以便我也可以从那里调用它???@Husky我需要查看您的HTML标记和两个js文件的内容,否则这只是猜测工作。可能会发布一个新问题,因为这与你的函数声明问题无关?这个问题很有效。我只是好奇,我试图创建另一个js文件,并在其中声明了这个方法。然后我尝试调用它,但它不再工作(未定义)。(顺便说一句,新的js文件已导入..)。如何做到这一点,以便我也可以从那里调用它???@Husky我需要查看您的HTML标记和两个js文件的内容,否则这只是猜测工作。可能会发布一个新问题,因为这与函数声明问题无关?