当前位置:嗨网首页>书籍在线阅读

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');
});

正如你所看到的,每个处理器中唯一的不同是颜色和显示的面板。代码量随着按钮数量的增加,或者每次处理器函数的增大而变大。