在项目中遇到问题:
需要在iframe中,操作父窗口的tabs组件,来添加一个新窗口,操作一直会报错:
jquery.easyui.min.js:4995 Uncaught TypeError: Cannot read property 'tabs' of undefined
at _37d (jquery.easyui.min.js:4995)
at _37c (jquery.easyui.min.js:5077)
at Object.exists (jquery.easyui.min.js:5149)
at m.fn.init.$.fn.tabs (jquery.easyui.min.js:5095)
at add (xxx.html:17)
at HTMLAnchorElement.onclick (childFrame.html:30)
解决方案摘自:https://www.cnblogs.com/puke/archive/2012/09/13/2683067.html
特此记录。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
通常在iframe子页面内,要获取父窗口的元素,操作一般为:
js: window.parent.document.getElementById('id');
jq: $('selector', window.parent.document);
但是在easyui中,操作父元素的组件,通过上面的方法确实能获取到该元素,但是一调用方法就会报错;
解决方案如下:
parent.$('selector').tabs('exists', 'title');