今天使用layui彈出窗口,需要將函數寫在彈出的窗口,但是按鈕事件是在父層窗口綁定的,這樣就要在父層窗口調用子層窗口的函數。
子層函數與父層函數
1 function topup() { 2 console.log("topup"); 3 }
1 yes: function(index, layero){ 2 var iframe = layero.find('iframe')[0]; 3 var iframeWin = iframe.contentWindow; 4 iframeWin.topup(); 5 }
iframe和iframe的關系
首先需要說明的是,w3c已經不推薦使用frame,而推薦使用iframe,iframe也就是inline frame(行內frame),顧名思義它具有css的行內框特性,正是因為這一特性才引出來iframe 高度100%時,出現垂直滾動條
通過window獲取iframe
window.frames是個偽數組,可以通過window.frames[index]或window.frames[name]來獲取iframe
window.frames[index],索引是從左往右,從上往下的,從0開始,通常我們使用window.frames[name]來獲取frame
通過iframe獲取window、document
如果想獲取iframe里的window或者document,可以使用
iframe.contentWindow、iframe.contentDocument
iframe.contentDocument=iframe.contentWindow.document,不過iframe.contentDocument在IE8及以下的版本不支持。
window獲取頂級窗口、父窗口
獲取頂級窗口:window.top
獲取父級窗口:window.parent