-1

我需要修复这个 javascript 错误,我有“变量上的 . 运算符后缺少名称”。这是我正在尝试使用的当前代码。

    <!DOCTYPE html>
<html>
<body onload="myFunction()">

<select>
    <option>1</option>
</select>
<br/>
<select>
    <option>1</option>
</select>

<script>
function myFunction()
{
    if(typeof document.body.ontouchstart == "undefined"){actionIn = "onmouseover"; actionOut = "onmouseout"}
    else{actionIn = "ontouchstart"; actionOut = "ontouchend";}

    var elem = document.getElementsByTagName("SELECT");
    for (var i = 0;i < elem.length; i++){
        elem[i].[actionIn] = function(){this.style.background='red';}
        elem[i].[actionOut] = function(){this.style.background='';}
    }
}
</script>

</body>
</html>
4

2 回答 2

2

使用 括号表示法,而不是两者:

elem[i][actionIn] = function(){this.style.background='red';}
elem[i][actionOut] = function(){this.style.background='';}
于 2013-04-23T14:52:55.357 回答
1

.两个方括号对之间不需要 a 。

elem[i][actionIn]elem[i][actionOut]

应该足够了。

于 2013-04-23T14:52:46.860 回答