Extjs4中的控件在不同浏览器中添加监听事件的方式

时间:2021-06-25 10:52:11
在工程中定义了GridPanel,之后在添加监听的时候发现,根据浏览器的不同,添加监听的方式好像也有不同,
我现在的代码是这样写的

if (Ext.isGecko || Ext.isGecko2 || Ext.isGecko3) {
    mainDragPanel.on({
    click: {fn: this.onCellClick, scope: this, single: true}
});
}
else if (Ext.isIE10){
  mainDragPanel.dom.addEventListener('click', ed.doc.onDragover, false); }else if (Ext.isIE9 || Ext.isIE8){
  mainDragPanel.addEventListener('click', ed.doc.onDragover, false);
}


只是个例子,不一定非要是‘click’事件,只有IE10的情况下是好用的,其他情况下都报js错误,请高手指点

3 个解决方案

#1


不用自己绑定,用grid的listeners配置来添加就行了,ext会处理兼容性的问题

ie8-核心的用 dom.attachEvent,并且要加上' on事件名称'
其他dom.addEventListener

#2


楼主想多了。。。

#3


也许是吧,谢谢各位!

#1


不用自己绑定,用grid的listeners配置来添加就行了,ext会处理兼容性的问题

ie8-核心的用 dom.attachEvent,并且要加上' on事件名称'
其他dom.addEventListener

#2


楼主想多了。。。

#3


也许是吧,谢谢各位!