1

我正在使用 extjs 4.2.1,当用户单击登录面板(在浏览器的白色区域中)时,我试图关闭登录表单面板。我想知道我应该使用哪个事件来检查用户是否在 extjs 中单击了侧登录面板,以及如何使用该事件关闭面板。

任何人都可以帮助我以更好和简单的方式理解它,或者任何能让我易于理解的小代码片段。提前致谢....

4

2 回答 2

2

您可以在 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();
    }
});

您可能希望增强上面的示例,以便在面板关闭后取消注册事件。

于 2013-08-10T00:24:40.843 回答
0
handler: function(button, e) {
    success: function(form, action) {
        button.up('.window').close();
    },
}
于 2017-04-10T10:50:47.687 回答