ExtJS IE7: «события равны нулю или не являются объектом», когда я закрыл окно

#extjs #internet-explorer-7

#extjs #internet-explorer-7

Вопрос:

Я использую компонент grid, когда пользователи дважды щелкают по записям — открывается окно, вот мой код:

 var gridPanel = Ext.create('AB.ins.Grid', {
    title:'Grid Panel',
    allowBlank: true,
    style: {
      cursor: 'default'
    },
    store: insuranceStore,
    columns: [
      {header:'№', dataIndex: 'id',width: 45, align: 'right'},
      {header:'Name', dataIndex: 'fio', width: 250},
    ],
    dockedItems: [{
      xtype: 'pagingtoolbar',
      store: insuranceStore,
      itemId: 'pagingbar',
      dock: 'bottom',
      displayInfo: true
    }],
    listeners: {
      itemdblclick: function(obj,record,item,index,event,options) {      
        var testshow = Ext.create('Ext.Window', {
          width: 500,
          height: 600,
          modal: true,
          title: 'Test window'
        });
        testshow.show();
      }
    }
});
  

В FF этот код работает нормально. В IE7 этот код работает, но когда я закрываю окно в третий или четвертый раз, IE выдает ошибки «события равны нулю или не являются объектом». Что происходит?

Ответ №1:

IE не любит запятые в конце, и это обычно вызывает странные сообщения об ошибках. В более поздних версиях IE это, похоже, не такая большая проблема.

Измените определение столбцов на это…

 columns: [
  {header:'№', dataIndex: 'id',width: 45, align: 'right'},
  {header:'Name', dataIndex: 'fio', width: 250}
],
  

Обратите внимание, что запятая в конце второго элемента была удалена

Комментарии:

1. это мне очень помогло в решении проблемы. Спасибо