<script type="text/javascript">
function initEvent(){
var inputs = document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
var input = inputs[i];
input.onclick = buttonClick;
}
}
function buttonClick(){
var inputs = document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
var input = inputs[i];
if(input == event.srcElement){// event.srcElement表示获取发生事件的控件是谁
input.value="呜呜"
}else{
input.value="哈哈";
}
}
//window.alert(1);
}
initEvent();// 初始化不了,因为input标签还没有被解释执行到
</script>
<body>
<input type="button" value="哈哈">
<input type="button" value="哈哈">
<input type="button" value="哈哈">
<input type="button" value="哈哈">
</body>
此时需要在<body onload="initEvent()">中这样既可
如下访问是不行的:原因看else中的注释
<script type="text/javascript">
function initEvent(){
var inputs = document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
var input = inputs[i];
input.onclick =function buttonClick(){
if(this == event.srcElement){// event.srcElement表示获取发生事件的控件是谁
this.value="呜呜";
}else{
//当点击某个文本框时,在此只判断了当前获得焦点的文本框对象是谁,当谁获得焦点就将其value设置为相应字符,对其他文本框未做处理。Else中永远不会执行。
this.value="哈哈";
}
};
}
//window.alert(1);
}
initEvent();// 初始化不了,因为input标签还没有被解释执行到
</script>
<!--EndFragment-->
<!--EndFragment-->