如何将手指指针改为十字准线?

时间:2012-09-26 07:58:08

标签: javascript

var eles = document.querySelectorAll('li.level a'),
    i;

for (i = 0; i < eles.length, i++) {
  eles[i].onclick = function() {
    //...
  };

}

现在,我想在鼠标悬停在文本上时,我想将手指指针改为crosshair.so我将以上代码改为:但它不起作用。

for (i = 0; i < eles.length, i++) {
      eles[i].onclick = function() {
        //...
      };
eles[i].onmouseover = function(this) {
        this.style.cursor="crosshair";
      };

    }

代码不起作用,如何纠正呢?谢谢

如果我只想用上面的代码通过javascript更改它,我该怎么办?

2 个答案:

答案 0 :(得分:5)

如果你摆脱了争论,你会得到什么。由于this是保留字,因此无法命名参数this

eles[i].onmouseover = function() {
    this.style.cursor="crosshair";
};

这是working example

但是,正如评论中已经说明的那样,更好的方法可能就是使用CSS:

li.level a:hover {
    cursor: crosshair;
}

这是一个example of the CSS version


附注

  • 您的for循环中也存在语法错误:

    for (i = 0; i < eles.length, i++) // Wrong
    for (i = 0; i < eles.length; i++) // Right (semi-colon, not comma)
    
  • 通常更好的做法是使用addEventListener而不是设置onsomevent属性。您可以使用attachEvent来支持旧版本的IE。

答案 1 :(得分:1)

代码中存在问题。从争论中删除它。

eles[i].onmouseover = function(/*this*/) {
        this.style.cursor="crosshair";
      };

    }