2

对于一个菜单checkItem,当用户点击它时,默认会触发checkchange;我想知道如果遇到某种情况,单击后如何不更改其检查状态,换句话说,停止此事件链。

我尝试了以下代码,但不起作用:

listeners: {
'click': function(item, evt) {
    if(1) { //verify whether that certain case
        evt.stopEvent(); //since click_event is triggered before setChecked()/checkChange, I thought this may stop its going further...
        alert('case met!');
    }
},
checkHandler: function(item, checked) {
   //...
}
4

1 回答 1

5

您可以收听该beforecheckchange事件。是在文档中。

根据文档,只需应用您的条件逻辑,如果它没有通过,则从处理程序返回 false。

例如:

listeners: {
    'beforecheckchange': function(item, checked) {
        if(!1) { // or whatever your conditional logic is
            return false;
        }
    },
}
于 2012-06-18T19:59:05.667 回答