ホームページ >ウェブフロントエンド >jsチュートリアル >親ウィンドウ要素 events_jquery をトリガーする iframe 内の要素の jquery コード
たとえば、親ウィンドウはイベントを定義します。
トップ:
$(dom1).bind('topEvent', function(){});
では、iframe 内の要素はどのようにして親ウィンドウ dom1 のイベントをトリガーするのでしょうか?そうですか?
$(dom1,parent.document).trigger('topEvent');
それは正しいように見えますが、実際には誤解を招きます。
親ウィンドウの jquery オブジェクトと iframe 内の jquery オブジェクトは実際には 2 つのオブジェクト (関数) であるため、iframe 内の jquery は別の jquery オブジェクトによって定義されたイベントをトリガーしません。 iframe で次のように定義しない限り:
iframe:
self.$ =parent.$;
解決策は簡単です:
parent.$(dom1,parent.doucment).trigger('topEvent');
親の jquery を呼び出してイベントを実行するだけです。
iframe は jquery ファイルをインポートする必要がなくなり、同じ jquery を親ウィンドウと共有するだけで済むようになるため、非常に環境に優しいと言われています。