2016-04-08 16 views
0

Bitte ich brauche eine Empfehlung, ist es ratsam, jQuery $(document).ready() zu verwenden, weil ich ein Problem beim Laden externer Seite mit der Ladefunktion hatte, googelte und stolperte über diese page wirklich wollen wissen, ob ich jquery Skript ohne $(document).ready() Ihre Meinung ist ausführen können .. Vielen

+4

Mögliches Duplikat von [window.onload vs $ (Dokument) .ready()] (http://stackoverflow.com/questions/3698200/window-onload-vs-document-ready) – SamyQc

+0

Dies wird auch relevant sein für Die Zeit ist: ** [Nicht alle Dinge in jQuery initialisieren] (http://elijahmanor.com/dont-initialize-all-the-things-in-jquery-ready/) ** – AGE

Antwort

1

Da jQuery das Dokument manipuliert, indem .ready Code stellt sicher ausgeführt wird, wenn das Dokument fertig ist, dh der Browser die HTML

heruntergeladen

Die load wird später ausgelöst, wenn Bilder geladen werden usw.

Platzieren Sie auch Ihr <script> Tag, bevor die <body> Tags enden, dies wird das Laden der Seite beschleunigen und zu einer besseren Benutzererfahrung beitragen.

+0

Vielen Dank, so viel wie Ich möchte wissen, –

+2

@MarshallUnduemiJosiah über die obige Antwort: Platzieren Sie Ihre '' Tag ist nicht so effizient wie Async/Defer. Lesen: ** [Wo ist der beste Ort, um

0

Ich denke, der beste Weg, um dies zu betrachten ist, dass keine Sache ist ein Fix-all für die Codierung. Der Bereitschaftsruf ist großartig, aber nicht für alles, was dein JS tut. Auch, wie andere vorgeschlagen haben, verschieben Sie Ihre JS vor dem Body-Tag kann aber nicht immer helfen.

Ihre Frage sollte nicht sein, sollten Sie es verwenden, sondern wann es zu verwenden.

+0

Yeah natürlich fand ich das [Link] (http: // encosia.com/dont-let-jquerys-document-ready-slow-you-down/) Lassen Sie sich nicht von jQuerys $ (document) .ready() verlangsamen –

+0

Der Artikel ist gut, aber hängt wieder von Ihrer Situation ab. Die Live-Beispiele sind gut, aber wenn Sie nicht möchten, dass der Benutzer Klick-Ereignisse auslöst, während die Seite lädt, dann ist es besser. Der Ajax-Aufruf, den ich fühle, ist offensichtlich (die Daten so schnell wie möglich zu bekommen), aber auch die Frage, ob sie die Ladezeit in Situationen beeinflussen kann, in denen sie hängen bleibt oder viel zu ziehen ist. – nerdlyist

+0

In Ordnung vielen Dank alle –

-1

JQuery ist sehr zu empfehlen für die Cross-Browser-Kompatibilität, Community-Unterstützung, Benutzerfreundlichkeit und kampferprobt.

$ (document.ready()) entspricht:

document.addEventListener("DOMContentLoaded", function(event) { 
    // code goes here 

}); 

Die window.load Funktion oder JQuery Last entspricht

document.addEventListener("load", function(event) { 
    // code goes here 

}); 

Die DOMContentLoaded wird ausgelöst, wenn der gesamte HTML-DOM hat geparst. Laden wird ausgelöst, wenn das gesamte HTML-DOM geparst und die Bilder geladen sind

Um diese Methode verwenden zu können, müssen Sie sicherstellen, dass Sie die JQuery-Bibliothek eingebunden und zuvor geladen haben.

+0

Warum die negative Marke? LOL .. Die Leute auf dieser Seite knacken mich –

0

$ document.ready() wird nicht in jedem Teilpostback aufgerufen. $ document.ready() wird nur einmal aufgerufen, d. h. beim ersten Laden der Seite. Wenn Sie einen Rückruf von jedem partiellen Postback erhalten möchten, dann müssen Sie die pageLoad() -Methode verwenden, die der Teil des vom Scriptmanager generierten Skripts ist. Wenn Sie die pageLoad() -Methode verwenden möchten, müssen Sie den asp.net-Skriptmanager auf der Seite verwenden .

Verwandte Themen