当前位置: 代码迷 >> JavaScript >> JS 顺序有关问题
  详细解决方案

JS 顺序有关问题

热度:310   发布时间:2012-06-29 15:48:47.0
JS 顺序问题

<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-->

  相关解决方案