如何从另一个JavaScript函数调用Jquery函数

时间:2009-10-14 09:13:31

标签: javascript scope

如何从其他javaScript函数调用Jquery函数(不是 来自jquery函数) 即 我写了一些Jquery代码,如下面的

 $(document).ready(function()  
 {  

   function func1(){
    // Do Something.
    }  
 }); 

现在我想从其他JavaScript函数

调用func1()函数

即说一个例子

function callJqueryFunction(){
 **func1();**  
}

上面的javaScript函数调用不起作用

但是如果在

中执行相同的代码
$(document).ready(function()  
 {  

   function func1(){
    // Do Something.
    }  

   **func1();**    
 }); 

工作正常。

那么我该怎么做才能调用Jquery代码中的函数 格式。

4 个答案:

答案 0 :(得分:3)

这与jquery一般无关,只是一个范围问题

function foo() 
{
   function bar() {
        ....
   }

   bar() // Ok
}

bar() // Not OK

函数'bar'在foo中是“local”,在它之外是不可见的。 如果您希望在不同的上下文中使用函数,请将其全局声明。

答案 1 :(得分:1)

func1的范围不是那个就绪函数吗?如果你声明func1在ready之外,那么它应该对其他javascript代码可用,就像任何其他函数一样。

所以:

$(document).ready(function()  
 {  
   func1();
 });

function func1()
{
// Do something
}

function SomeOtherJavascriptFunction()
{
    func1();
}

答案 2 :(得分:1)

函数func1在父函数的范围内定义。如果你不需要这个,你可以简单地将定义移到外面(我希望$(document).ready你真的不需要它)。否则,您需要在某处传递/存储函数引用,并使用它来调用它。

答案 3 :(得分:1)

你可以做这样的事情

var funcToCall;

$(document).ready(function()  
 {  

   funcToCall = function func1(){
    // Do Something.
    }  
 });


funcToCall();