Heim  >  Artikel  >  Web-Frontend  >  JQuery-Code für Elemente im IFrame zum Auslösen des übergeordneten Fensterelements events_jquery

JQuery-Code für Elemente im IFrame zum Auslösen des übergeordneten Fensterelements events_jquery

WBOY
WBOYOriginal
2016-05-16 16:33:251169Durchsuche

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.

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