js开发过程中的有关问题 - 关于怎么控制某些效果的消失

js开发过程中的问题 -- 关于如何控制某些效果的消失
公司前端不会js(或者jquery),临时写下页面效果。现在遇到了一个很苦恼的问题
     比如我现在在写仿win8界面,右键点击一个模块后,该模块打上了对勾,现在问题来了,什么时候取消掉这个对勾,或者说在什么地方写去掉这个对勾的方法。因为,很多操作都要涉及到将这个对勾去掉,比如,右键点击其他模块的右键、左键点击打开一个模块、在body上点击左键、换到另外一屏幕,那么我是不是要在上面所有的方法中写上取消掉对勾的方法了?如果是这样,维护、开发都太麻烦了,这还是一个效果,要是效果多了。。。虽然公司在三楼,跳下去还是摔的死的
------解决思路----------------------
方法1:用全局函数
方法2:给一个标签A绑定事件函数实现该功能,
其他需要该效果时,trigger一下A的事件

------解决思路----------------------
用事件委托:

$('body').on('click', '.bindclick', function(){
       test();
});
这样所有class中包含bindclick的标签点击时都会调用test
同理mousedown事件也可以这么做

------解决思路----------------------
你可以用一个伪事件回调对象来协调各个模块之间互相调用的问题

把test1(),test2(),test3()等函数分类绑定到伪事件回调对象中

在事件2.3.4.5.6.7就可以执行某一分类的伪事件回调

------解决思路----------------------
有如下模块
1 2 3 4 5 6 7 8 9
其中单数是点击出对号的即1 3 5 7 9
你要做的就是写一个取消任何对号的方法 和一个对自身增加对号的方法!
一)向1 3 5 7 9绑定增加对号的方法,执行逻辑是这样的,首先调用取消任何对号,然后调用对自身增加对号
二)向所有其他取消对号的操作上绑定取消任何对号

function removeDuiHao(){}
function addDuiHao(var o){向o增加一个对号,具体的代码你自己写吧}
$('1,3,5,7,9').click(function(){  
    removeDuiHao();
    addDuiHao(this);
})
$('2,4,6,8').click(removeDuiHao)