【问题标题】:Issue with Mouseover event in KineticJSKineticJS 中的鼠标悬停事件问题
【发布时间】:2012-05-21 14:54:00
【问题描述】:

我正在尝试对 KinetiJs Canvas 库进行一些实验。我在下面所做的是 - 绘制一个矩形,每当鼠标悬停时,我希望在特定点之间绘制一条线。

问题是,当鼠标悬停时我看不到任何线条。

我已尝试检查 onmousemove 函数是否被调用并且它确实被调用,但没有绘制线。谁能解释一下为什么?

$(document).ready(function () {
    var stage = new Kinetic.Stage({
        container: "sketchcanvas",
        width: 600,
        height: 600
    });
    var layer = new Kinetic.Layer();
    var rect = new Kinetic.Rect({
        x: 50,
        y: 50,
        width: 500,
        height: 500,
        fill: "#00D2FF",
        stroke: "black",
        strokeWidth: 4
    });
    rect.on("mousemove", function () {
        var mousePos = stage.getMousePosition();
        var x = mousePos.x;
        var y = mousePos.y;
        var line = new Kinetic.Line({
            points: [60, 60, 80, 80, 100, 200],
            stroke: "black",
            strokeWidth: 15,
            lineCap: 'round',
            lineJoin: 'round'
        });
        layer.add(line);
    });
    layer.add(rect);
    stage.add(layer);
});

【问题讨论】:

    标签: javascript html canvas kineticjs jquery-events


    【解决方案1】:

    在 KineticJS 中,对图层进行更改或添加后,需要draw() 到图层才能显示效果

    ...
    layer.add(line);
    layer.draw();
    

    【讨论】:

    猜你喜欢
    • 2012-08-29
    • 2012-12-29
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 2018-08-13
    • 2013-03-11
    • 1970-01-01
    相关资源
    最近更新 更多