避免在'焦点'或'onclick'事件上展开组合框

时间:2012-12-20 10:14:48

标签: extjs

我遇到一个问题,我不想在某个标志上展开组合框,并希望显示警告信息。

在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          
    }              
}

1 个答案:

答案 0 :(得分:2)

您需要指定您的ExtJS版本,请格式化您的代码。

以下是您可以为ExtJS4.x做的事情

手动设置/取消设置isExpanded属性。这应该工作(未经测试)

对于ExtJS3.x,您必须覆盖isExpanded()方法,并且在添加时应用自定义标志,该标志指示阻塞/自动并在执行默认代码之前进行检查。

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

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

不,这有效。请参阅ExtJS3.4的 JSFiddle

ExtJS3.4的第二个 JSFiddle ,格式为