2011-08-16 37 views
0

我有一個父頁面,有一個子iframe ...當點擊子iframe中的一個特定的按鈕,我想要一個函數來觸發,就好像它是源於父文檔本身。從iframe觸發函數,但是像從父文檔觸發一樣執行?

我擁有的功能鏈相當長,並且不依賴於很多變量而不依賴於它。當我觸發該函數時(通過將onclick添加到子框架中的按鈕),鏈接函數失敗,因爲變量未被識別(因爲它們不存在於子DOM的範圍內)。

任何周到的解決方案?

回答

1

如果在父框架中定義了函數parentFunction(),則可以通過說parent.parentFunction();(並將它需要的任何參數傳遞給子項中定義的值)從子框架調用它。

(順便說一句,這可能不是你擁有的是全部依賴變量函數鏈一個好兆頭,我想從你的描述是全局。)

+0

啊......我知道你可以選擇來自父母的元素使用parent.eleName,但我不知道你也可以爲函數做到這一點......這有效地解決了我的問題......哦,爲什麼它不是一個好的跡象,我的功能鏈依賴,全局變量?不要爭辯,但你可能有一個有趣的點... – Abhishek

+0

@Abhishek - 我避免直接​​引用父框架的元素;我不喜歡我的孩子框架取決於父母的HTML結構。我會說'parent.leat()'(或任何適當的名字),而不是'parent.eleName',並將其留給父母來決定數據來自哪裏。至於全局變量,有一派思想認爲應該把它們保持在最低限度,因爲它們可能導致維護問題,其中不同的功能假定它們出於不同的目的,或者與第三方庫衝突等。如果有幫助,請接受我的回答。 – nnnnnn