3 Stimmen

Anleitung zur Verwendung von jQuery $(function())

Die Erklärung $(function()) in jQuery ist eine Abkürzung für $(document).ready( ...

Macht es Sinn, mit nur einmal am Anfang des Skriptteils und halten alle Skript-Code (als Beispiel innerhalb von Tags in einer Aspx-Seite) nach Bedarf?

Oder wäre es besser, es mehr als einmal zu wiederholen und jeden Satz Logik von korreliertem Code zu enthalten?

Ein Beispiel:

<script>
 $(function()
 {
    //script code for function 1
  });

 $(function()
 {
    //script code for function 2
  });
 </script>

Gibt es dafür eine "beste Praxis" oder sind beide Ansätze genau gleichwertig?

5voto

genesis Punkte 49257

Ich würde die Funktionen ausschalten $(function(){});

Dort nur Funktionen aufrufen und andere Dinge tun.

function a(){
    alert('a');
}

function b(){
    alert('B');
}

$(function(){
    a();
    b();
});

mehrere $(function(){}); Aufrufe sind sehr teuer!

Nachweis

1voto

VoteyDisciple Punkte 36203

Sind sie gleichwertig ? Nein, denn alle Variablen, die Sie in einer Funktion deklarieren, sind in einer anderen nicht zugänglich.

$(function() {
    var a = 3;
});
$(function() {
    $("#foo").text(a); // Undefined
});

Meistens spielt das aber keine Rolle. Und so ist es meistens relativ harmlos, mehrere Aufrufe von $(document).ready() zu haben.

Tun Sie dies nicht wiederholt innerhalb einer einzigen Datei, nur um logische Aufgaben zu trennen. Verwenden Sie einen einzigen Aufruf von $(document).ready(), dessen Callback andere Funktionen aufruft, um die einzelnen Aufgaben zu erledigen.

Sie sollten sich aber auch nicht zu weit aus dem Fenster lehnen, um es zu vermeiden. Wenn ich mehrere Dateien oder mehrere Bibliotheken habe, die jeweils initialisiert werden müssen, zögere ich nicht, $(document).ready() mehrmals aufzurufen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X