首页 新闻 会员 周边 捐助

关于一个空间的onclick

0
悬赏园豆:10 [待解决问题]

<head>
<title></title>
<script type="text/javascript">
function btnclick() {
var allnames = document.getElementsByTagName("input");
for (var i = 0; i < allnames.length; i++) {
var input = allnames[i];
input.onclick = btnok;
}
}
function btnok() {
alert("点击完成");
}
</script>
</head>
<body onload="btnclick()">
<input type="button" value="1" />
<input type="button" value="2" />
<input type="button" value="3" />
</body>

请问:我将input.onclick = btnok;写成input.onclick = btnok();时

则会在网页加载完成时连续三次跳出 点击完成 但是onclick不是点击才会触发的么

菜鸟求教 谢谢

晴晰雨沥的主页 晴晰雨沥 | 初学一级 | 园豆:188
提问于:2013-07-11 20:28
< >
分享
所有回答(2)
0

 <body onload="btnclick()">  这个onload事件 在网页加载完成时  会触发的

之后执行 方法btnclick()   该方法3次循环  循环中都调用了btnok方法 btnok方法中的代码会执行3遍

先正 | 园豆:204 (菜鸟二级) | 2013-07-11 20:35

但是我这么写 input.onclick = btnok();

他网页加载完成后 不用我按按键 就会自动跳出 点击完成 请问为什么?

支持(0) 反对(0) 晴晰雨沥 | 园豆:188 (初学一级) | 2013-07-11 20:44

加载页面就会触发 onload  事件      就会执行  btnclick(); 

 

 

input.onclick = btnok;是 不会执行 btnok的方法体 

input.onclick = btnok();是会执行完方法体  再继续执行 当前方法 

支持(0) 反对(0) 先正 | 园豆:204 (菜鸟二级) | 2013-07-11 23:18
0

你页面加载的时候就调用了那个事件,而且allnames 的长度是3,当然就会执行三次了

Sunny_Lynn | 园豆:202 (菜鸟二级) | 2013-08-06 16:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册