easyUi裡tab存在則更新iframe寫法問題
阿新 • • 發佈:2019-01-10
easyUi裡tab存在則更新iframe時,如果是從easyUi裡的datagrid雙擊建立一個子頁面標籤,會出現提示Uncaught TypeError: Cannot read property 'nodeType' of undefined
function addTab(title, url) { if ($('#content').tabs('exists', title)) { $('#content').tabs('select', title); var selTab = $('#content').tabs('getSelected'); var url = $(selTab.panel('options').content).attr('src'); var content = '<iframe scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:100%;"></iframe>'; $('#content').tabs('update', {//如果標籤存在,就重新整理頁面 tab: selTab, options: { content: content } }) } else { var content = '<iframe scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:100%;"></iframe>'; $('#content').tabs('add', { title: title, content: content, closable: true }); } }
後來改成下面這種寫法後,就可以了,但還是不明白為啥,不知道有誰可以給我解答一下下~
function addTab(title, url) { var jq = top.jQuery; if (jq("#content").tabs('exists', title)) { jq("#content").tabs('select', title); var selTab = $('#content').tabs('getSelected'); var url = $(selTab.panel('options').content).attr('src'); var content = '<iframe scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:100%;"></iframe>'; $('#content').tabs('update', {//如果標籤存在,就重新整理頁面 tab: selTab, options: { content: content } }) } else { var content = '<iframe scrolling="auto" frameborder="0" src="' + url + '" style="width:100%;height:100%;"></iframe>'; jq("#content").tabs('add', { title: title, content: content, closable: true }); } }