08-问题
8.2.1 问题
你遇到一种情况,其中有许多绑定,而处理程序函数看上去相当类似。这些绑定是否应用到不同的元素/事件组合并不重要。关键是,你不希望多次重复这些代码(谁会希望这样呢?)
下面是一个例子:
jQuery('#button1').click(function(e){
jQuery('div.panel').hide();
jQuery('#panel1').show();
jQuery('#desc').text('You clicked the red button');
});
jQuery('#button2').click(function(e){
jQuery('div.panel').hide();
jQuery('#panel2').show();
jQuery('#desc').text('You clicked the blue button');
});
jQuery('#button3').click(function(e){
jQuery('div.panel').hide();
jQuery('#panel3').show();
jQuery('#desc').text('You clicked the green button');
});
正如你所看到的,每个处理器中唯一的不同是颜色和显示的面板。代码量随着按钮数量的增加,或者每次处理器函数的增大而变大。