我有多个按钮共享同一个处理程序。单击btn时,我使用addCls()更改背景颜色。当点击另一个btn时,我想从之前的btn中删除Cls()并将addCls()删除到新的btn。
代码片段
//多个btns的处理程序
handleWhatever: function (btn_){
btn_.addCls("btncss");
//do stuff
}
问题是..在什么时候/我在哪里调用removeCls()????
谢谢!
刚检查了文档ard没有按钮“beforeclick”事件或者是什么heckkkkk
答案 0 :(得分:0)
一个简单的方法是选择包含类的按钮,在其上调用.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()