我正在创建一个Web应用程序,它使用Paper.js来操作通过SVG导入的向量。直到最近,一切都运作良好。然后,突然之间,onMouseDown事件停止被触发,即使onKeyDown和onMouseMove触发就好了。
我创建了一个Tool对象的实例,如下所示:
paper.setup("canvas");
var tool = new paper.Tool();
tool.activate();
然后我在代码中绑定事件,如下所示:
tool.onMouseDown = function (event) {
console.log("Mouse down triggered!");
}
tool.onMouseMove = function (event) {
console.log("Mouse move triggered!");
};
由于某种原因后者确实触发,但前者没有。其他事件如onKeyDown和onKeyUp也会触发,但onMouseDown和onMouseDrag不会做任何事情。有没有人知道造成这种情况的原因是什么?我也使用jQuery和jQueryUI,这可能会导致某种干扰吗?
答案 0 :(得分:4)
我有同样的效果。它是由一个重叠的html元素占用点击事件引起的。添加
style="pointer-events:none;"
到元素html定义,然后两个事件都应该触发你的paper.js对象。
全行显示:
<div id="colorizerOptions" style="pointer-events:none;"></div>