点击事件中的 jQuery 函数调用
2016-01-26
536
这是我的 javascript 函数。问题是当我在点击事件中调用该函数时,它在 Firefox 中显示此错误,但在 Chrome 中没有。
ReferenceError: toDo is not defined
$(document.body).on("click", ".btnCheck", function(){
if () {
//do something
} else {
if (pcheck == "online") {
// Doing some operations and function calling
toDo();
} else {
toDo(); // function calling, HERE SHOWING ERROR IN FIREFOX
// ReferenceError: toDo is not defined
}
}
function toDo () {
//Do something
}
});
2个回答
解决方案是将 toDo 声明移到第一个 if 语句之前。它仍将具有完全相同的范围,但功能将可用。
编辑只是为了清楚起见
$(document.body).on("click", ".btnCheck", function(){
function toDo () {
//Do something
}
if () {
//do something
} else {
if (pcheck == "online") {
// Doing some operations and function calling
toDo();
} else {
toDo(); // function calling, HERE SHOWING ERROR IN FIREFOX
// ReferenceError: toDo is not defined
}
}
});
Maciej Paprocki
2016-01-26
你可以尝试这个
var theFunction = function toDo () {
};
// then to execute it
theFunction();
就你的情况而言
$(document).ready(function(){
var theFunction = function toDo () {
alert();
};
var pcheck = "test"
if (pcheck == "online") {
theFunction();
}else{
theFunction();
}
});
但你不应该这么做
HoangND
2016-01-26