纸张js事件示例错误地测试了mouseenter

时间:2017-03-22 07:38:14

标签: javascript events paperjs

我正在使用来自mouseenter示例的the code,而不是view.center将圈子放在(50;50)

当光标位于圆圈上方时,圆圈应变为红色。但它仅适用于左上角部分。

在Firefox,Windows 8中测试

$(document).ready(() =>
{
    var canvas = document.getElementById("mainCanvas")
    paper.setup(canvas)
    console.log("creating circle")
    var path = new paper.Path.Circle({
        center: new paper.Point(50,50),
        radius: 25,
        fillColor: 'black'
    });
    console.log("created circle")
    // When the mouse enters the item, set its fill color to red:
    path.on('mouseenter', function () {
        this.fillColor = 'red';
    });
    // When the mouse leaves the item, set its fill color to black:
    path.on('mouseleave', function () {
        this.fillColor = 'black';
    });
})
canvas {
    border-style:double
}
<script src="https://code.jquery.com/jquery-2.1.3.js"> </script>
<script src = https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.10.3/paper-full.js></script>
<canvas id = "mainCanvas" resize></canvas>
<div>!!</div>

2 个答案:

答案 0 :(得分:2)

您是否正在使用CSS来正确调整画布大小?如果HiDPI paper.js画布中的像素未对齐,则命中测试将关闭:

https://stackoverflow.com/a/29103200/1163708

答案 1 :(得分:0)

从画布中删除resize会修复它。仍然感兴趣,如果paper.js可以使用调整大小的画布