Heim >Web-Frontend >js-Tutorial >JQuery-Code für Elemente im IFrame zum Auslösen des übergeordneten Fensterelements events_jquery
Zum Beispiel definiert das übergeordnete Fenster ein Ereignis.
oben:
$(dom1).bind('topEvent', function(){});
Wie lösen die Elemente im Iframe das Ereignis des übergeordneten Fensters dom1 aus? Ist das so?
$(dom1, parent.document).trigger('topEvent');
Es scheint richtig, aber es ist tatsächlich irreführend.
Da das JQuery-Objekt des übergeordneten Fensters und das JQuery-Objekt im Iframe tatsächlich zwei Objekte (Funktionen) sind, löst die JQuery im IFrame keine Ereignisse aus, die von einem anderen JQuery-Objekt definiert werden. Es sei denn, Sie definieren es im Iframe so:
iframe:
self.$ = parent.$;
Die Lösung ist also einfach:
parent.$(dom1,parent.doucment).trigger('topEvent');
Rufen Sie einfach die übergeordnete Abfrage auf, um das Ereignis auszuführen.
Es heißt, dass iframe keine Jquery-Dateien mehr importieren muss, sondern nur die gleiche JQuery mit dem übergeordneten Fenster teilen kann.