我正在使用extjs 4.2.1,当用户单击“登录”面板(在浏览器的白色区域)时,我尝试关闭登录表单面板。
我想知道我应该使用哪个事件来检查用户是否单击了extjs中的侧面登录面板,以及如何使用该事件关闭面板。
任何人都可以帮助我以更好,更轻松的方式理解它,或者可以通过任何小代码段使我容易理解。
提前致谢....
最佳答案
您可以在body元素上注册一个侦听器。这是一个简单的示例:
var panel = new Ext.Panel({
cls: 'the-panel',
width: 400,
height: 400,
renderTo: Ext.getBody()
});
Ext.getBody().on('click', function (event) {
var targEl = Ext.get(event.getTarget());
if (targEl === panel.getEl() || targEl.up('.the-panel')) {
//clicked on or within the panel, do nothing
} else {
panel.close();
}
});
您可能需要增强上面的示例,以便在关闭面板后取消注册该事件。