Paper JS的程序化点击事件

时间:2019-02-26 20:52:09

标签: javascript mouseevent dom-events paperjs

我正在尝试触发MouseEvent会收到的原始JavaScript Paper JS。我有一个drawing-canvas的HTML画布paper.setup。这是我目前的尝试:

const drawingCanvas = document.getElementById('drawing-canvas');
drawingCanvas.dispatchEvent(new MouseEvent('click', {
    buttons: 1,
    clientX: 1153,
    clientY: 550,
    screenX: 1153,
    screenY: 621,
}));

从控制台取消此操作不会触发我的Layer鼠标事件。

Here是我在Paper Sketch中尝试的。我希望日志会在运行时发生。

如何触发Paper JS会收到的普通JS鼠标事件?

1 个答案:

答案 0 :(得分:1)

我想有很多事情会阻止您的示例正常工作

  • Paper.js有自己的MouseEvent类,在PaperScript上下文中(例如在sketch.paperjs.org中)使用时,它可能与本机类冲突。因此,您应该在{{ 1}}。
  • JavaScript点击检测依赖于多个事件触发({Paper.js,然后是mousedown,并进行了一些时间和距离检查),因此您应该使用更简单的事件(例如mouseup)。

对您来说,最简单的方法是尝试从一个有效的示例中拒绝您的具体案例。
这是fiddle,为您提供了一个起点。

mousedown