2009-07-27 10 views
1

Ich habe eine Methode geschrieben in JavaScript sagen wir "Callme" und ich habe einige jQuery-Code innerhalb des Blocks $ (document.ready) geschrieben.Aufruf von jQuery-Methoden aus Javascript-Funktionen

Meine Frage ist, wie Sie die vorhandene JavaScript-Methode 'Callme' aus dem jQuery-Block aufrufen.

Die angenommene Angebot ist wie folgt,

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. 
}); 

Bitte helfen Sie mir.

+3

hast du tatsächlich versucht, "callme" in $ (document) .ready zu setzen? Ich habe keine Ahnung, warum das nicht funktionieren würde, da es eine sehr einfache Programmieraktion ist. – linusthe3rd

+0

Sollte das Thema nicht etwas wie "Aufruf von JavaScript-Funktionen aus jQuery-Methoden" sein? – montrealist

+0

auch, "$ (document) .ready (function() {...})" "ist gleichbedeutend (und häufiger geschrieben als)" '$ (function() {...})' " – Kip

Antwort

9

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

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

Es könnte erwähnenswert sein, dass es auch eine Verknüpfung gibt; einfach $(callme);.

+0

Ich glaube nicht, dass das OP weiß, wo man einen solchen Anruf setzt. –

2

könnte einfacher sein, zu lesen (es für mich ist, wenn die Dinge komplizierter), aber genau die gleiche Antwort wie Daves:

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

Nichts Besonderes Sie tun müssen. Der Aufruf $ (document) .ready() ist nur eine Funktion, so dass Sie Ihre anderen Funktionen dort aufrufen können.

Denken Sie daran, jQuery ist immer noch Javascript. Alles wird nur durch die jQuery-Funktion ausgeführt, um alle benutzerdefinierten Methoden und ähnliches zu verarbeiten. Alles, was Sie in Javascript tun können, können Sie in jQuery tun.

0

Warum nicht einfach folgendes tun?

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

Sie brauchen nicht wirklich eine bestimmte benannte Funktion zu erstellen, es sei denn natürlich Sie es mehr als einmal nach dem Laden der Seite ausführen werden.

Auch, was meinst du mit "komplexe Verarbeitung"? JavaScript ist nicht multi-threaded, also kann eine Funktion gleichzeitig ausgeführt werden. Wenn Ihre "komplexe Verarbeitung" lange dauert, reagiert die Seite nicht mehr, bis sie abgeschlossen ist.