2016-04-27 13 views
0

Manchmal vor, verwende ich die Funktion .load() alsWenn JQuery die Funktion .load() abgebrochen hat?

// document load 
$(document).load(function() { 
    // ... code ... 
}); 

aber jetzt, seine nicht funktioniert.

benutze ich nur die Funktion .ready()

// document ready 
$(document).ready(function() { 
    // ...code... 
}); 

die Funktion .load() als Teil von Ajax jetzt verwendet.

Ich erinnere mich, dass es etwas Unterschiedliches zwischen den beiden Funktionen gibt.Nun abgebrochen die .load(), gibt es das gleiche?

Der Code wie:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<title>Examples</title> 
<meta name="description" content=""> 
<meta name="keywords" content=""> 
<link href="" rel="stylesheet"> 
<script type="text/javascript" src="jquery-2.2.3.js"></script> 

<script> 
    $(document).ready(function() { 
     console.log("ready"); 
    }); 

    $(document).load(function() { 
     console.log("load"); 
    }); 
</script> 

</head> 
<body> 

</body> 
</html> 

und die Konsole zeigt: "ready"

die Funktion .load() funktioniert nicht!

+0

'$ (document) .load (fn)' noch funktioniert gut, so dass ich bin mir nicht sicher, was Sie fragen. Beachten Sie jedoch, dass der 'load()' Event-Handler veraltet ist. Wenn Sie Ihren Code zukunftssicher machen wollen, verwenden Sie '$ (document) .on ('load', fn);'. Die Funktionalität ist jedoch identisch. –

+0

"* Wenn [did] JQuery die .load() Funktion abbricht? *" - Antwort: Sie haben nicht [sie haben nicht] –

Antwort

1

Es gibt zwei Funktionsknöpfe von load()

$('selector').load(function() {}); // #1 
$('selector').load('url', {data}, function() {}); //2 

# 1 wird Code ausführen, wenn das Element nach oben geladen.
# 2 wird Ajax für die angegebene URL mit (optional) {data} Objekt aufrufen und Inhalt von $('selector') ersetzen und Callback-Funktion ausführen.

Wenn für Differenz zwischen .load(function() {}) und .ready(function() {}) suchen, als this question überprüfen

+0

Infact, funktioniert die "# 1" nicht! – Oolong

+0

Ich habe die Beschreibung ändern, können Sie es überprüfen? – Oolong

+0

'$ (window) .load (function() { \t \t console.log (" laden "); \t});' Es funktioniert! Warum? – Oolong

0

Beide sind unterschiedlich.

Wenn Sie load() verwenden, ruft es nach dem Laden aller Elemente der Seite wie (Bild) auf.

Wenn Sie ready() verwenden, wird es aufgerufen, nachdem DOM bereit ist.

Wenn Sie das Ajax-Ereignis binden möchten, dann schauen Sie sich bitte das Ein und Delegieren an, und Sie könnten auch die Live-Methode bevorzugen, aber es ist veraltet.