2009-07-27 6 views
1

J'ai une méthode écrite en JavaScript disons 'callme' et j'ai un code jQuery écrit dans le bloc $ (document.ready).Appel des méthodes jQuery à partir des fonctions Javascript

Ma question est de savoir comment appeler la méthode JavaScript existante 'callme' depuis le bloc jQuery.

La liste est supposée comme suit,

function callme(){ 
    // do some complex processing. I don't want to do this in jQuery 
} 

$(document).ready(function(){ 
    // I need to call callme function from here. 
}); 

S'il vous plaît, aidez-moi.

+3

avez-vous réellement essayé de placer "callme" dans $ (document) .ready? Je ne sais pas pourquoi cela ne fonctionnerait pas puisque c'est une action de programmation très basique ... – linusthe3rd

+0

Le sujet ne devrait-il pas être quelque chose comme "Appeler des fonctions JavaScript à partir de méthodes jQuery"? – montrealist

+0

aussi, "' $ (document) .ready (function() {...}) '" est équivalent à (et plus communément écrit comme) "' $ (function() {...}) '" – Kip

Répondre

9

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

4
$(document).ready(callme); 
4

Il peut être utile de mentionner qu'il existe également un raccourci disponible; simplement $(callme);.

+0

Je ne pense pas que l'OP sait où placer un tel appel. –

2

est peut-être plus facile à lire (il est pour moi, quand les choses deviennent plus compliquées), mais exactement la même réponse que Dave:

$(document).ready(function() 
{ 
    ... 
    callme(); 
    ... 
}); 
3

Rien de spécial que vous devez faire. L'appel $ (document) .ready() n'est qu'une fonction, vous pouvez donc appeler vos autres fonctions.

Rappelez-vous, jQuery est toujours javascript. Tout fonctionne simplement à travers la fonction jQuery pour gérer toutes les méthodes personnalisées et autres. Tout ce que vous pouvez faire en javascript, vous pouvez le faire dans jQuery.

0

Pourquoi ne pas simplement faire ce qui suit?

$(function(){ 
    // Do your processing here 
}); 

Vous avez vraiment pas besoin de créer une fonction spécifique nommée, à moins bien sûr que vous allez exécuter plus d'une fois après le chargement de la page.

Aussi, que voulez-vous dire par "traitement complexe"? JavaScript n'est pas multi-thread, donc sur une fonction peut s'exécuter à la fois. Si votre "traitement complexe" prend beaucoup de temps, la page ne répondra pas jusqu'à la fin.

Questions connexes