2009-10-14 7 views
0

Comment puis-je appeler la fonction Jquery De l'autre javaScript Fonction (Non de la fonction jquery) -à-dire j'ai écrit un code Jquery comme ci-dessousComment puis-je appeler Jquery Fonction De Autre fonction JavaScript

$(document).ready(function() 
{ 

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

maintenant, je veux appeler la fonction d'autres fonctions JavaScript

-à-dire func1() Dites un exemple

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

La fonction ci-dessus javaScript appelant fonctionne pas

mais si faire le même code dans un

$(document).ready(function() 
{ 

    function func1(){ 
    // Do Something. 
    } 

    **func1();**  
}); 

Son beau travail.

Alors, que puis-je faire pour appeler la fonction qui est dans un format JQuery code .

Répondre

1

Est-ce que func1 n'est pas dans cette fonction prête? Si vous déclarez func1 en dehors de ready, il devrait être disponible pour tout autre code javascript comme n'importe quelle autre fonction.

Alors:

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

function func1() 
{ 
// Do something 
} 

function SomeOtherJavascriptFunction() 
{ 
    func1(); 
} 
3

cela n'a rien à voir avec jquery en général, il est juste une question de portée

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

    bar() // Ok 
} 

bar() // Not OK 

« bar » fonction est « locale » dans foo et ne sont pas visibles à l'extérieur de cela. Si vous souhaitez utiliser une fonction dans différents contextes, déclarez-la globalement.

1

La fonction func1 est définie dans la portée de la fonction parente. Si vous n'en avez pas besoin, vous pouvez simplement déplacer la définition à l'extérieur (je prévois qu'en cas de $(document).ready vous n'en avez pas vraiment besoin). Sinon, vous devrez passer/stocker la référence de la fonction quelque part, et l'utiliser pour l'appeler.

1

Vous pouvez faire quelque chose comme ça

var funcToCall; 

$(document).ready(function() 
{ 

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


funcToCall(); 
Questions connexes