js给对象onclick事件赋值

1)当方法没有参数时,赋值可以直接用onclick = 方法名

 window.onload = function() {
        $('btnTest').onclick = test;    
  }
  function test() {
        alert(val);
  }

2)当方法有参数时,用onclick = 方法名(参数)时就有错了,例如:

function show(value1,value2){   
   alert(value);   
 }   
btn.onclick = show(value1.value2); 

以上代码执行起来是有错误的,因为 show(value1.value2)这句,直接就执行了show方法,而没有正确把这个方法对象赋给btn.onclick事件. 
如果我们改成这样 
btn.onclick = show,参数又无法传递.

所以,需要在方法名前面加function():

function show(value1,value2){
   alert(value1+","+value2);
}
btn.onclick
= function(){ show(certid.value,i); };

参考:

https://blog.csdn.net/gdjlc/article/details/8730145

https://blog.csdn.net/kunkkacoco/article/details/47085873

https://blog.csdn.net/u013630349/article/details/53007408

 

posted @ 2019-06-06 15:21  小时候挺菜  阅读(991)  评论(0编辑  收藏  举报