Paper.js鼠标事件由工具禁止

时间:2015-12-02 19:09:02

标签: javascript javascript-events mouseevent paperjs

我使用Paper.js,我需要在光栅上进行鼠标操作。但是,当我使用全局工具空间时,事件似乎不会触发。

请注意这个sketch,其中点击并拖动会产生如下所示的日志:

  

raster mousedown

     

raster mousedrag

     

... [更多" raster mousedrag"] ...

     

raster mousedrag

     

光栅鼠标

表示raster.on('mouseup' function() {...});已按预期正确点击。

但是,在此sketch中,包含显示拖动区域的功能,raster.on('mouseup' function() {...});未正确点击。请注意,日志不包含"光栅鼠标",仅"光栅mousedown"和" raster mousedrag"。

为什么在第二个实例中鼠标不会在光栅上触发?如何在第二个草图中调整代码以使其触发?

1 个答案:

答案 0 :(得分:1)

嗯,简单的答案是问题是永远不会调用undefined处理程序。纸质代码获取最近的命中,即您正在绘制的红色矩形,并检查是否响应“鼠标”事件。它没有。然后它检查父链,红色矩形的父级是图层,因此它也不会通过var abc; var data; $.get('http://localhost:3000/test.php', function (data, status) { console.log(status); abc = data; console.log(abc); //printing it here works fine }); console.log(abc); //printing it here returns undefined 测试。因为栅格与从事与栅格关联的红色矩形处理程序处于同一级别,所以从不调用。

最简单的答案是使用全局工具在on('mouseup', ...)上安装处理程序,而不是.responds,例如,

view

请参阅paperjs代码(在CanvasView.js中):

raster