IE7 Ext JS问题:window.close()上未指定的JS错误

时间:2009-02-04 11:50:21

标签: javascript internet-explorer-7 extjs

我使用Ext JS创建一个弹出窗口,这里是代码:

function popupImage(term, imageNumber){

    if(currentPopupWindow!=null){
        currentPopupWindow.close();
    }

    currentPopupWindow = new Ext.Window({
                layout      : 'fit',
                closeAction :'hide',
                plain       : true,
                constrain   : true,
                width: 300,
                border: false,
                html: "Blah blah content"<span onclick=\"currentPopupWindow.close();\">cerrar</span>"
            });



    currentPopupWindow.show(false, function(){
        var el = Ext.get("termimage");
        currentPopupWindow.setWidth(el.getWidth(true)+150);
    });

    currentPopupWindow.anchorTo(Ext.get("dictionarycontainer"), "tl");
}

在Firefox中,这很好用。在IE7中它可以工作,但总是产生一个javascript错误,说“未指定的错误”。

我做错了什么?

修改

删除anchorTo行会删除错误。我仍然想锚定,所以这不是一个很好的解决方案!

6 个答案:

答案 0 :(得分:1)

这是解决方案,因为它是愚蠢的:

创建相同的窗口,然后代替显示和锚定的调用:

    currentPopupWindow.render(document.body);
    currentPopupWindow.alignTo(diccon, "tl", [40, 80]);

                currentPopupWindow.show(false, function() {
            var el = Ext.get(termim);
            currentPopupWindow.setWidth(el.getWidth(true)+150);
        });

答案 1 :(得分:0)

快速Google搜索告诉我,您并不是唯一遇到此问题的extJS用户。 (有关三个示例,请参阅herehere以及here。)最好在forums发帖,以便他们可以修复自己的错误或解决IE7错误,无论哪种情况。

答案 2 :(得分:0)

答案 3 :(得分:0)

qui是对的。问题出在anchorTo上。使用alignTo,异常就消失了。 对不起qui,试图“提升”您的回复,但无法做到。我没有任何声誉。:)

Athele

答案 4 :(得分:0)

关于第二个问题:删除anchorTo行会删除错误。我仍然想锚定,所以这不是一个很好的解决方案!

使用alignTo并监视滚动和鼠标滚轮事件并相应地更新位置,它与anchorTo相同。这就是我找到的解决方法。

Athele

答案 5 :(得分:0)

尝试添加:

shim: false

弹出窗口参数列表。