Heim >Web-Frontend >js-Tutorial >Warum wird jQuery .ready in dynamisch eingefügten iFrames vorzeitig ausgelöst?

Warum wird jQuery .ready in dynamisch eingefügten iFrames vorzeitig ausgelöst?

Barbara Streisand
Barbara StreisandOriginal
2024-11-15 06:52:02996Durchsuche

Why Does jQuery .ready Fire Prematurely in Dynamically Inserted iFrames?

Dynamisch eingefügte iFrames und das jQuery .ready-Ereignis

Wenn Sie das Thickbox-Plugin von jQuery verwenden, um einen Iframe mit der Galleria-JavaScript-Bibliothek dynamisch anzuzeigen, können Sie Möglicherweise tritt ein Problem auf, bei dem das $(document).ready-Ereignis vorzeitig im Iframe ausgelöst wird, was dazu führt, dass der Galleria-Code falsch angewendet wird.

Ursache

Das $( Das Ereignis document).ready basiert auf dem Bereitschaftsstatus des übergeordneten Dokuments, um die Bereitschaft des Iframes zu bestimmen. Bei dynamisch eingefügten iFrames kann der Bereitschaftsstatus des übergeordneten Elements jedoch darauf hinweisen, dass der Iframe bereit ist, obwohl der Iframe-Inhalt selbst noch nicht geladen ist.

Alternative Lösung

A Ein zuverlässigerer Ansatz besteht darin, an das eigene Ladeereignis des Iframes zu binden. Dadurch wird sichergestellt, dass Ihr Code erst ausgeführt wird, wenn der Inhalt des Iframes vollständig geladen ist.

Code-Snippet

function callIframe(url, callback) {
    $(document.body).append('<IFRAME>

Durch die Verwendung des Ladeereignisses können Sie das Timing steuern Präzisieren Sie die Ausführung Ihres Codes und vermeiden Sie eine vorzeitige Ausführung innerhalb dynamisch eingefügter iFrames.

Das obige ist der detaillierte Inhalt vonWarum wird jQuery .ready in dynamisch eingefügten iFrames vorzeitig ausgelöst?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn