我有多个共享相同处理程序的按钮。单击btn时,我使用addCls()更改了背景色。单击另一个btn时,我想从以前的btn中删除Cls(),然后将其添加到新的btn中。
程式码片段
//处理多个btns
handleWhatever: function (btn_){
btn_.addCls("btncss");
//do stuff
}
问题是..我在什么时候/在哪里调用removeCls()?
谢谢!
刚刚检查了文档ard并没有按钮“ beforeclick”事件,无论是什么
最佳答案
一种简单的方法是选择具有该类的按钮,在其上调用.removeCls('btncss')
,然后将CSS添加到当前按钮。
handleWhatever: function (btn_){
// Get all elements with class 'btncss'
// Alternatively use the btn_ reference and call ComponentQuery functions to
// reference your other buttons.
var buttons = Ext.select('.btncss');
if(buttons)
buttons.removeCls('btncss');
btn_.addCls("btncss");
// do stuff
}
另一种方法是存储对单击的按钮的引用,然后在下次调用处理程序函数时,只需对该引用调用removeCls()