Javascript 在extjs中单击不同的frame/iframe/frameset时折叠组合框
我有一个网页,由几组框架集、框架和iFrame组成,一组在另一组中使用。页面的大致设计如下: 请注意,这里的每个帧都包含一些更多的帧集/帧/iframes。我在第3帧中有一个组合框extjs 4.2,如果我在第3帧中的任意位置单击,它就会被折叠。但是,如果我单击第1帧/第2帧或网页中除第3帧以外的任何部分,它不会调用combobox的“onblur”侦听器。我尝试将combobox.collpase函数附加到frame3的onblur事件,但没有成功。这是我的代码部分:Javascript 在extjs中单击不同的frame/iframe/frameset时折叠组合框,javascript,iframe,extjs,combobox,frame,Javascript,Iframe,Extjs,Combobox,Frame,我有一个网页,由几组框架集、框架和iFrame组成,一组在另一组中使用。页面的大致设计如下: 请注意,这里的每个帧都包含一些更多的帧集/帧/iframes。我在第3帧中有一个组合框extjs 4.2,如果我在第3帧中的任意位置单击,它就会被折叠。但是,如果我单击第1帧/第2帧或网页中除第3帧以外的任何部分,它不会调用combobox的“onblur”侦听器。我尝试将combobox.collpase函数附加到frame3的onblur事件,但没有成功。这是我的代码部分: field =
field = {
xtype: 'combobox',
store: list2,
forceSelection: true,
pickerAlign: 'tr-br?',
listeners: {
'focus': function ( combo ) {
combo.expand();
},
'blur': function ( combo ) {
combo.collapse();
},
},
collapseComboBox: function(){
alert('1'); // alert is put for testing purpose
},
......
};
// this._window gives frame 3
this._window.attachEvent('onblur', field.collapseComboBox);
最后,我希望组合框在失去焦点并单击网页上的任意位置后被折叠。有人能告诉我正确的方法吗?你能展示你的HTML代码以便更好地理解吗?你可以编写一个函数来折叠第3帧上的combobox,使其失去焦点。我在附加模糊事件时处理错误的窗口。最后,我抓取了正确的iFrame并将模糊事件附加到它。因此,我的代码的最后一行是这样的。_window.frameElement.attachEvent'onblur',field.collapseComboBox;。谢谢你的帮助。