从javascript函数调用jquery函数时遇到问题。我相信我之前已经做过了......只是无法理解我遇到的问题。感谢您提供的任何帮助。
$(document).ready(function(){
function funB() {
alert("B is working");
};
});
funA();
function funA() {
alert("A is working");
funB();
};
答案 0 :(得分:5)
您的funB在提供给就绪处理程序的函数范围内定义,它不在全局范围内。把它移到外面。
$(document).ready(function(){
funA();
});
function funB() {
alert("B is working");
}
function funA() {
alert("A is working");
funB();
}
答案 1 :(得分:0)
问题与jQuery与JavaScript没有任何关系; jQuery 是 JavaScript。
问题是“funB”在内部声明了另一个函数,并且你试图从 outside 函数引用它。这是不可能做到的。
你可以在“ready”处理程序之外声明“funB”,或者你可以将其他代码放在其中。
答案 2 :(得分:0)
因为funB
是“私有的”,因为它没有在全局范围内定义,就像你调用它一样。如果你要在相同的范围块内移动代码,它将神奇地开始工作。
答案 3 :(得分:0)
它与jQuery无关(它只是一个用Javascript编写的库;没有“jQuery函数”。
您的funB()
函数在另一个函数中声明;它只存在于该范围内。外面的世界没有funB()
。
这样可行:
function funA() {
alert("A is working");
funB();
};
function funB() {
alert("B is working");
};
$(document).ready( funB );
funA();
答案 4 :(得分:0)
您需要将它们放在同一个机箱中:
$(document).ready(function(){
function funB() {
alert("B is working");
};
function funA() {
alert("A is working");
funB();
};
funA();
});
或者,将funB
放在窗口上,以便可以从funA
访问:
$(document).ready(function(){
window.funB = function() {
alert("B is working");
};
});
funA();
function funA() {
alert("A is working");
funB();
};