Firefox初始加载javascript未初始化?

时间:2018-05-19 11:50:30

标签: javascript firefox onload

[编辑问题]   javascript代码:

var ECM_pos = [ 3,2];
function ECM_display() {
  document.forms["ECM"].elements[0].value = "  " + ECM_pos[0] + "o ";
  document.forms["ECM"].elements[1].value = "  " + ECM_pos[1] + "  ";}

function ECM_coloring(num, mycolor){
  switch (num){
    case 1: document.forms["ECM"].ECM_button1.style.background=mycolor; break;
    case 2: document.forms["ECM"].ECM_button2.style.background=mycolor; break;}}

function ECM_do() {
  ECM_coloring(1, "#2EFEF7"); ECM_coloring(2, "#2EFEF7"); ECM_display();}

在html中使用时:

<body onLoad="window.ECM_do();">
<form name="ECM">
 <table >
   <tr> <td>
   <input type="button" name="ECM_button1" value="  A  "
              onClick="window.ECM_do();"> </td>
     <td> <input type="button" name="ECM_button2"
                 value="  2  "
                 onClick="window.ECM_do();"> </td>
     </tr>
     </table>
</form>

给出了一个欺骗性的答案:带有2的单元格太大了。单击它时,它将恢复正常大小。如果我在开头更改ECM_pos中的值2或对此单元格进行任何其他更改:此单元格格式正确。看起来渲染引擎看到此单元格的内容是否是新内容。如果不是新的,那么它不会重做。否则就是这样。这就是我能得到的一个简单的例子。

我觉得这个麻烦是近期的。   非常感谢任何提示!最好的,奥利维尔

1 个答案:

答案 0 :(得分:0)

我没有找到为什么行为是这样的,但这里是一个明智的解决方法:在html中,放置一个与初始化值不同的默认值:)无论如何,这个默认值将不会被使用(它只是这里使代码更容易阅读)。   最好的,O。