用闭包+匿名函数吧
$("button").bind("click",function(e){
//这里通过对e的处理得到你的待传参数值
para = e.target.foo
abc(para)
})
--
可能我没理解你的意思
按钮是什么?是组件的一部分还是随便写在html里的?
如果是一部分那么你可以用this指向组件对应的方法调用吧
如果不是的话,你也可以在匿名函数里先找到组件的引用,再调相应的方法
本质上jquery.bind是把前后两个函数的参数一一对应地进行传递赋值的……
---
晕,js支持反射的,就是说你可以通过方法名的字符串调用该方法,例如
var a;
a.b = function(){/**/}
a.b() //传统的调用
a["b"]()//反射调用
所以在组件里可以写个属性(比如propFuncname),返回那个方法的名字的字符串,如"abc"
然后在匿名函数里找到组件的引用,通过上述属性(propFuncname)得到方法字符串,再用反射调用之。
这样可以保证,通过对公共属性propFuncname的调用得到不同的对应的方法。
实现方法:
可以将已存在的方法放在元素绑定的触发事件里,(如:点击、鼠标滑过等事件的闭包函数内)如下:
$("#id").bind("click",function(){
//这里调用已存在的方法,并按照已存在方法的参数传值
});
例如:
function show(num){
alert(num);
}
$("#id").bind("click",function(){//绑定点击事件(可以绑定其他事件)
show(1);
});