JavaScript给onclick事件赋值,动态传参数实例辩错

错误的例子:

<body> 
<input id="certid" type="text" value="123456" > 
<input id="btn" type="button" value="button" onclick=""> 
</body> 
<script> 
function show(value) 
{ 
alert(value); 
} 
btn.onclick = show(certid.value); 
<script> 

以上代码执行起来是有错误的,因为show(certid.value)这句,直接就执行了show方法,而没有正确把这个方法对象赋给btn.onclick事件. 

正确的方式有:

 

btn.onclick = show; 

 

缺陷:但是这样无法传值的!

最好可以改成这样:

<body> 
<input id="certid" type="text" value="123456" > 
<input id="btn" type="button" value="button" onclick=""> 
</body> 
<script> 
function show(value1,value2) 
{ 
alert(value1+","+value2); 
} 

var i = 10; 
btn.onclick = function(){ 
show(certid.value,i); 
}; 
<script> 

这样就实现了动态给onclick事件句柄赋值,并支持参数的传递!

 

 

 

posted @ 2016-08-06 11:08  羊大葱  阅读(3026)  评论(0编辑  收藏  举报