请看下面的代码:

<script>
var mygrid;
function lock(){
    for (var i=1; i<15; i++)
    {
        var cur_row=i + "";
            mygrid.lockRow(cur_row,true);
            mygrid.setRowColor(i,"#E5E5E5");
    }
}
function doInitGrid(){
mygrid = new SomeClass;
}
</script>
</head>
<body onload="doInitGrid()" dir=rtl>
<div id="mygrid_container" style="width:905px;height:550px;"></div>
<script>lock();</script>
  <button onclick="addRow()">Add Row</button>
  <button onclick="removeRow()">Remove Row</button>
  <button onclick="lock()">lock Row</button>
</body>


为什么当我运行锁定功能(不带按钮)时,我的var是不确定的,而当我单击按钮时,一切正常?

最佳答案

这是时间问题,而不是范围问题。

您只能调用doInitGrid() onload,因此在文档加载完成之前,它不会为mygrid分配值。

内联调用lock()时,会在加载文档时执行。

大概您一直等到文档完成加载后再单击按钮。

10-05 18:40