2012-12-20 33 views
0

队扩大组合框,我有一个问题,我想DONOT扩大对某些标志组合框,想要显示警报消息避免对“专注”或“的onclick”事件

没有像EXTJS onClick这样的事件,所以我尝试了焦点事件,但仍然组合框正在扩大。

代码

focus:function() { 
    if(this.store.baseParams.donotExpandFlag) { 
      alert("I should not expand this combo"); 
      // What to do here and out side of IF block so that there is conditional expansion   
    }    
} 

回答

2

您需要specifiy您的ExtJS的版本,请格式化你的代码。

这里是你可以为ExtJS4.x

手动设置/取消设置isExpanded财产做什么。这应该工作(未经测试)

对于ExtJS3.x,您将不得不覆盖isExpanded()方法,并添加一个自定义标志,指示阻止/自动并在默认代码执行前进行检查。

你可以试试这个(未经测试)

_isExpanded: true, // true means block, false auto 
isExpanded: function(){ 
    return this._isExpanded || (this.list && this.list.isVisible()); 
}, 

没有,这个工程。见JSFiddle为ExtJS3.4

JSFiddle为ExtJS3.4与形式

+0

我尝试这样做,因此未工作。我正在使用EXTJS 3.任何其他的替代品。 – user1913742

+0

@ user1913742不,这是行得通的。我已经添加了一个工作示例 – sra

+0

它不起作用。我甚至尝试了JSFiddle的stanalone例子。 EXTJS版本是3.2,我使用的是xType组合,我在isExpanded函数中给出警报,并提醒它自己没有被调用。 – user1913742