您的位置:首页 > Web前端 > JavaScript

dwz与xhEditor整合后父子页面的input框有时获取不到焦点的问题

2014-02-26 18:34 369 查看
在dwz框架中新建一个dialog弹出框,在弹出框中用到xhEditor,整合完代码后,,测试时有时会出现dialog弹出框与前一个页面的input框获取不到焦点,有时候又是很正常的情况。

原因,是IE 下对iframe的处理bug导致的, 

解决办法:

在dwz-ria/js/dwz.navTab.js中 找到 _closeTab: function(index, openTabid) 

直接在这个方法接着加上 
_closeTab: function (index) { 
        this._getTabs().eq(index).remove(); 
        this._getPanels().eq(index).find("iframe").attr("src",""); 
        this._getPanels().eq(index).find("iframe").remove(); 
        this._getPanels().eq(index).remove(); 
        this._getMoreLi().eq(index).remove(); 
        if (this._currentIndex >= index) this._currentIndex--; 
        this._init(); 
        this._scrollCurrent(); 
        this._reload(this._getTabs().eq(this._currentIndex)); 
    } 

变成如下样子: 
_closeTab: function(index, openTabid){ 
this._getTabs().eq(index).remove(); 
this._getPanels().eq(index).remove(); 
this._getMoreLi().eq(index).remove(); 
if (this._currentIndex >= index) this._currentIndex--; 

if (openTabid) { 
var openIndex = this._indexTabId(openTabid); 
if (openIndex > 0) this._currentIndex = openIndex; 


this._init(); 
this._scrollCurrent(); 
this._reload(this._getTabs().eq(this._currentIndex)); 
}, 

// 增加开始      解决获不到光标焦点的问题 
_closeTab: function (index) { 
        this._getTabs().eq(index).remove(); 
        this._getPanels().eq(index).find("iframe").attr("src",""); 
        this._getPanels().eq(index).find("iframe").remove(); 
        this._getPanels().eq(index).remove(); 
        this._getMoreLi().eq(index).remove(); 
        if (this._currentIndex >= index) this._currentIndex--; 
        this._init(); 
        this._scrollCurrent(); 
        this._reload(this._getTabs().eq(this._currentIndex)); 
    }, 

//////----增加结束-----------------/////////

closeTab: function(tabid){
var index = this._indexTabId(tabid);
if (index > 0) { this._closeTab(index); }
},
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js
相关文章推荐