变量类型变化

时间:2014-02-12 18:23:42

标签: javascript javascript-events mouseevent addeventlistener

我该如何更改

 canvas2.mousedown(function(e){handleMouseDown(e);});

达到此功能

canvas2.addEventListener('mousedown', **then the functions here**);

我试过这些但是他们不工作

 canvas2.addEventListener('mousedown',function(e){handleMouseMove(e);}); 
 canvas2.addEventListener('mousedown',function(e)handleMouseMove(e));
 canvas2.addEventListener('mousedown',function(e),handleMouseMove(e));

1 个答案:

答案 0 :(得分:1)

如果"来自"你已经展示了作品(或者当你使用jQuery时工作),canvas2是或者是jQuery对象(最有可能)。粗略的等价物是你的第一行,但是在它内部的DOM元素上:

canvas2[0].addEventListener('mousedown',function(e){handleMouseMove(e);}); 

或者确实,简单地说:

canvas2[0].addEventListener('mousedown', handleMouseMove);

当然,如果您尝试从jQuery迁移代码,您可能最终会将canvas2更改为其他内容,可能是直接的DOM对象。如果是这样,请执行此操作时从上面删除[0]。但是,如果已经已经完成,那么您尝试过的事情的第一行就会奏效,希望以上有所帮助。


附注:您在示例中已从handleMouseDown更改为handleMouseMove。我已忠实地完成上述操作,但请务必确保mousedown使用handleMouseDownmousemove handleMouseMove ...