日期:2014-05-16  浏览次数:20512 次

用JS 为元素绑定事件的时候怎么加上参数
我现在又个 方法
function fn1(p1,p2){
alert(p1+p2);
}

//这个是页面加载的时候运行 为某个元素绑定上面fn1单击事件
function init(){
var ele=document.getgetElementsByName("x");
ele.onclick=fn1;
}
但是问题是 我那个方法要2个参数 p1和p2 如果在绑定的时候写成这样 ele.onclick=fn1("s","ss");
这样就错了。。请问下 怎么样才能带参数 最好是谁调用这个方法 就吧本身 作为参数 传进fn1里 

------解决方案--------------------
闭包一

ele.onclick = function(){
      fn1("s","ss");
}

闭包二

ele.onclick = (function(p1,p2){
     return function(){
          fn1(p1,p2);
    }
} )("s","ss");

方法是可以 嵌套 封装 递归的