动态拖动文本

时间:2012-06-26 08:42:24

标签: javascript kineticjs


使用Kinetic,是否可以在文本上设置鼠标悬停?下面的代码不起作用。如果用矩形替换Text,它可以正常工作。

...
var layer = new Kinetic.Layer();

var test = new Kinetic.Text({
    x: 20,
    y: 20,
    text: "test",
    textFill:"black"
});

test.on("mouseover", function(){
    alert("mouseover");
});

layer.add(test);

感谢您的帮助!

UPDATE:

好的,我搜索了一下,似乎有必要使用像素检测。

see this tutorial fore more details

结果目前并不完美,但总比没有好。

1 个答案:

答案 0 :(得分:3)

我在处理类似的文本行为时遇到问题,在浏览器历史记录中潜水后,我发现现在Text默认将detectType设置为'pixel'。

尝试更改您的文字声明,如下所示:

var test = new Kinetic.Text({
    x: 20,
    y: 20,
    text: "test",
    textFill: 'black',
    detectionType: 'path',
    draggable: true         
});