日期:2014-05-16  浏览次数:20595 次

Extjs4中的控件在不同浏览器中添加监听事件的方式
在工程中定义了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错误,请高手指点
extjs 浏览器 javascript

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

ie8-核心的用 dom.attachEvent,并且要加上'on事件名称'
其他dom.addEventListener
------解决方案--------------------
楼主想多了。。。