>  Q&A  >  본문

Javascript 这两种绑定事件的方式怎么有一种无效呢,好奇怪

HTML: op2在op1里,startMove()函数确定没有问题(用来移动p)
这是有效的代码:

op1.onmouseover = function() {
    startMove(0, 10);
}
op1.onmouseout = function() {
    startMove(-100, -10);
}

这是无效的:

op1.addEventListener('mouseover', startMove(0, 10), false);
op1.addEventListener('mouseout', startMove(-100,-10), false);
PHP中文网PHP中文网2750일 전304

모든 응답(2)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-10 15:29:09

    element.addEventListener的第二个参数应该是个函数。
    无效方法里你传的是startMove的返回值, 不是函数。

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:29:09

    基于楼上补充,

    op1.addEventListener('mouseover', function(){startMove(0, 10)}, false);
    op1.addEventListener('mouseout', function(){startMove(-100,-10)}, false);
    

    或者

    op1.addEventListener('mouseover', startMove.bind(null,0, 10), false);
    op1.addEventListener('mouseout', startMove.bind(null,-100,-10), false);
    

    两种方式皆可

    회신하다
    0
  • 취소회신하다