我有一个触发某些动作的按钮,例如
someBtn.on('click'm function(..) { ... }
我在里面做了一些算术运算。我看到了计算出来的数字,这是错误的,所以我使用console.log()
来跟踪它,并且多次触发动作。
更具体地说,我有一个window
,比方说A,有多行,当我点击其中一行时,另一个窗口B弹出,我可以在那里输入数字。当我键入数字并单击保存时,它会执行一些操作并隐藏B窗口,我可以单击A上的其他行来更改其他行。
当我第一次点击时,B只运行一次,第二次运行两次,三次,三次.... 我一直在查看我的代码,但我不知道这是怎么发生的。
这是我的代码:
function openCustDeposit(idCustomer) {
require(['view/Deposit'], function (dep) {
var windep= Ext.getCmp('windep');
if (!windep) {
windep= new Ext.Window({
...
items : [dep.initObj],
plain : true,
closable: true,
closeAction :'hide',
...
listeners:{
show:function() {
this.loadMask = new Ext.LoadMask(this.body, {
msg:'Loading. Please wait...'
});
},
destroy:function(){
if(this.mask)delete this.mask;
}
}
});
} else {
....
}
...
windep.show();
...
dep.store.load();
dep.grid.custDepositPostBtn.on('click', function(obj,evt)
{
try {
var str_idCrdtMemo='', str_CRApply='', sumCRApply=0;
var objGrid = grid;
var selRec = objGrid.selModel.getSelected();
....
selRec.set('CustDeposit', sumCRApply);
selRec.set('idPostCheck', str_idCrdtMemo.substr(0,str_idCrdtMemo.length-1));
selRec.set('CustDeposit2', str_CRApply.substr(0,str_CRApply.length-1));
....
closeWin(arCustDeposit.grid); // window close
}
catch (e) { Ext.MessageBox.alert('Error', e); }
finally {
....
}
});
});
}`
任何建议都会非常有帮助。感谢