我有一个带有一个参数的函数:
function magic(el){
...
}
我在混合元素/类上有一堆点击处理程序调用函数:
$('#div1').click(function(){ magic('#other-div'); });
$('.crazy-div').click(function(){ magic('.mystery-div'); });
$('#doomed-divv').click(function(){ magic('#shady-div'); });
$('#secret-div').click(function(){ magic('form'); });
$('#div2').click(function(){ magic('p'); });
...
有没有一种很好的方法来巩固这些?也许使用关联数组?
答案 0 :(得分:2)
创建一个包含键值赋值的对象(当单击特定ID时要作为参数传递的ID)就足够了,然后使用$.each
迭代键并设置单击函数他们每个人。
var a = {
'#div1' : '#other-div',
'#doomed-divv' : '#shady-div'
};
$.each(a,function(key,value){
$(key).click(function(){
magic(value);
});
});