Heim >Web-Frontend >js-Tutorial >Warum wird jQuery .ready in dynamisch eingefügten iFrames vorzeitig ausgelöst?
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!