例如在页面load中指定了下拉框的默认选项,下拉框有indexchanged事件,indexchaged事件中有复杂操作但是不需要在load事件中执行,应该如何阻断?当一个控件既有indexchanging事件又有ingdexchanged事件时,应该如何阻止两个事件之间的互相调用(indexchanging中也有可能改变index)?本人通过添加一个标识变量来阻断事件之间的互相调用(简单代码如下),这是不是一个正常合理的写法,如果不是,希望给出优化的写法。谢谢
代码例如:
load{
isloading=true;
//加载事件 combox.selectedindex=5;
isloading=false;
}
combox_selectedindexchanged{
if(isloading)return;
//正常处理
}
var isLoaded = false;
load{
//加载事件 combox.selectedindex=5;
isLoaded = true;
}
combox_selectedindexchanged{
if(!isLoaded) return;
//正常处理
}
或者:
load{
卸载事件订阅
//加载事件 combox.selectedindex=5;
重新订阅事件
}
combox_selectedindexchanged{
//正常处理
}