例如父視窗定義了一個事件。
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就行了,這樣很環保。