例如父窗口定義了一個事件。
top:
$(dom1).bind('topEvent', function(){});
那麼iframe裡面的元素怎樣觸發父窗口dom1的事件呢?這樣嗎?
$(dom1, parent.document).trigger('topEvent');
看似正確,實則誤導人。
因為父窗口的jquery對象與iframe裡面的jquery對象實際為兩個對象(function),iframe裡面的jquery並不會觸發另一個jquery對象定義的事件。除非你在iframe這樣定義了:
iframe:
self.$ = parent.$;
所以解決的方法很簡單:
parent.$(dom1,parent.doucment).trigger('topEvent');
調用父jquery執行該事件就行了。
話說iframe應該不必再引進jquery文件的,與父窗口共用一個jquery就行了,這樣很環保。