<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不是点击才会触发的么
菜鸟求教 谢谢
<body onload="btnclick()"> 这个onload事件 在网页加载完成时 会触发的
之后执行 方法btnclick() 该方法3次循环 循环中都调用了btnok方法 btnok方法中的代码会执行3遍
但是我这么写 input.onclick = btnok();
他网页加载完成后 不用我按按键 就会自动跳出 点击完成 请问为什么?
加载页面就会触发 onload 事件 就会执行 btnclick();
input.onclick = btnok;是 不会执行 btnok的方法体
input.onclick = btnok();是会执行完方法体 再继续执行 当前方法
你页面加载的时候就调用了那个事件,而且allnames 的长度是3,当然就会执行三次了