论坛首页 Web前端技术论坛

Ext.grid.GridPanel双击关闭错误的解决

浏览 2076 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-20  

参考:http://www.extjs.com/forum/showthread.php?t=88612

 

var memRegGrid = new Ext.grid.GridPanel({
    id: "memRegGrid",
    /* code */
    listeners: {
        rowdblclick: function () {
            /* code */
            Ext.getCmp("regWindow").close();
        }
    }
});

var regWindow = new Ext.Window({
    id: "regWindow",
    items: memRegGrid
})

 如果双击记录行时关闭window,但这个时候控制台提示:

 

      this.view is null

 

解决方法:

rowdblclick: {
  fn: function () {
    /* code */
    Ext.getCmp("regWindow").close();
  },
  delay: 10
}

 原理:延迟10ms执行关闭操作

 

原因:Ext.grid.GridPanel双击记录时会同时触发一些其他的调用,这个时候还需要使用到grid本身,如果这个时候关闭就会出现上述错误,延迟的10ms关闭就能让其他的一些调用完成。

 

我在一些其他的应用中也发现了很多类似的问题,如textfiled对象的focus事件,在加载form的同时如果要focus的话必须延迟一段时间执行

论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics