我使用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行会删除错误。我仍然想锚定,所以这不是一个很好的解决方案!
答案 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用户。 (有关三个示例,请参阅here和here以及here。)最好在forums发帖,以便他们可以修复自己的错误或解决IE7错误,无论哪种情况。
答案 2 :(得分:0)
这看起来与它有关,而不是我理解..
答案 3 :(得分:0)
qui是对的。问题出在anchorTo上。使用alignTo,异常就消失了。 对不起qui,试图“提升”您的回复,但无法做到。我没有任何声誉。:)
Athele
答案 4 :(得分:0)
关于第二个问题:删除anchorTo行会删除错误。我仍然想锚定,所以这不是一个很好的解决方案!
使用alignTo并监视滚动和鼠标滚轮事件并相应地更新位置,它与anchorTo相同。这就是我找到的解决方法。
Athele
答案 5 :(得分:0)
尝试添加:
shim: false
弹出窗口参数列表。