Prototype Event.observe(window,'change',function() - 在IE浏览器中不起作用

时间:2011-02-14 20:49:53

标签: prototypejs

Prototype,Event.observer'窗口''更改'在IE浏览器中不起作用/它在Mozilla,chrome浏览器中正常工作。你能为这个提供解决方案吗? 代码:

<script type="text/javascript">
Event.observe(window, 'change', function() {
alert("Loaded!");
var opt0=document.getElementsByTagName("option")[0];
var opt1=document.getElementsByTagName("option")[1];   
var opt2=document.getElementsByTagName("option")[2];   
var opt3=document.getElementsByTagName("option")[3];
var opt4=document.getElementsByTagName("option")[4];   

   if(opt0.selected==true || opt4.selected==true) {
      document.getElementById("chgButton").style.marginLeft="0em";
   }

   if(opt1.selected==true) {
      document.getElementById("chgButton").style.marginLeft="4em";
   }

   if(opt2.selected==true) {
      document.getElementById("chgButton").style.marginLeft="8em";
   }

   if(opt3.selected==true) {
      document.getElementById("chgButton").style.marginLeft="12em";
   }

// some more code down here, but even without it it doesn't work!
});     
</script>

<div> 
<div style="float:left;">
    <select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>

    </select>
    <div style="float:right;"> 
    <input type="button" value="submit" id="chgButton"/>
    </div>

</div>

</div>

提前致谢 PS

1 个答案:

答案 0 :(得分:0)

您期望发生什么?如果您尝试使用事件冒泡,那么您可能会更好地使用documentdocument.body或更具体的内容,例如包含这些输入的表单元素。