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

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

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

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

这是无效的:

oDiv1.addEventListener('mouseover', startMove(0, 10), false);
oDiv1.addEventListener('mouseout', startMove(-100,-10), false);

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


基于楼上补充,

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

或者

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

两种方式皆可

【热门文章】
【热门文章】