Ext.window.MessageBox 可拖动 false,调用隐藏方法时出错
Ext.window.MessageBox draggable false, error calling hide method
像这样创建消息框实例后
var msgBox = Ext.create('Ext.window.MessageBox',{draggable: false});
-实际上可拖动的 false 是通过对 Ext.window.window 的覆盖设置的,我这样说是为了更容易重现。
- 我也更喜欢单例语法,但在我正在处理的代码中已经有大量这样的实例。
msgBox.alert("I am a bug, try to close me to reproduce");
尝试关闭此 MessabeBox 调用 hide 方法:
hide: function() {
var me = this;
me.dd.endDrag();
me.progressBar.reset();
me.removeCls(me.cfg.cls);
me.callParent(arguments);
},
引发以下错误:
无法读取未定义的属性"endDrag"
我错过了什么还是这是一个错误?
更新:
我正在使用 ExtJs 4.1.1(但也发生在 Extjs 4.2.1(固定在 4.2.2 上))
任何想法或意见 ?
为了避免此错误,我正在覆盖 MessageBox 类上的隐藏方法:
Ext.define('Ext.window.MessageBox', {
override: 'Ext.window.MessageBox',
hide : function () {
/**
* this is the default implementation of hide in minus MessageBox the commented line
* */
var me = this;
//me.dd.endDrag();
me.progressBar.reset();
me.removeCls(me.cfg.cls);
/**
* this is the implementation of hide in Ext.Component
* avoided callParent() because that would have called the overridden hide method
*/
me.showOnParentShow = false;
if (!(me.rendered && !me.isVisible()) && me.fireEvent('beforehide', me) !== false) {
me.hidden = true;
if (me.rendered) {
me.onHide.apply(me, arguments);
}
}
return me;
}
});
更新,这是原始覆盖
Ext.window.Window.override({
initComponent: function () {
this.draggable = false;
this.resizable = false;
this.callParent();
}
});
我愿意接受避免这种覆盖的建议。谢谢。
相关文章:
- 使用ScriptManager.RegisterStartupScript从代码隐藏调用javascript方法
- AJAX隐藏调用jsp页面
- 为什么需要从代码隐藏调用 JavaScript 函数
- 如何从 C# 代码隐藏调用 JavaScript 函数
- 从代码隐藏调用 JavaScript 函数
- 从代码隐藏调用.js文件函数
- 根据条件从代码隐藏调用 Javascript 方法
- 无法从代码隐藏调用 JS 函数
- 如何从代码隐藏调用.aspx页面中的书面函数
- 如何从代码隐藏调用 JavaScript 函数
- 在 ASP.NET 中从C#代码隐藏调用Javascript(Raphael.js库)
- 从代码隐藏调用 jquery 函数,切换查询字符串
- 从 C# 中的代码隐藏调用 JQuery 函数
- 声明一个JavaScript函数,该函数可以隐藏调用HTML元素的标签
- 从代码隐藏调用的Javascript警报框不起作用
- Microsoft JScript运行时错误:从代码隐藏调用时预计会抛出对象
- 如何从 asp.net 中的代码隐藏调用确认消息
- 从 JavaScript 中的代码隐藏调用函数,而无需回发
- 我想在单击按钮时从代码隐藏调用多个 javascript 函数.它适用于 3 个 JavaScript 函数,但不超过此
- asp.net 从代码隐藏调用javascript