gpt4 book ai didi

javascript - 如何在kineticjs中分别使用draggable和click?

转载 作者:行者123 更新时间:2023-12-02 18:50:24 25 4
gpt4 key购买 nike

如何使用可拖动并单击kineticjs中的同一节点?当使用draggable时,点击事件也会在拖动后触发。

在 jsfiddle 中,http://jsfiddle.net/matobaa/LZ5tt/

这是代码...

var stage = new Kinetic.Stage({
container: 'container', width: 640, height: 480
});
var layer = new Kinetic.Layer();
var oval = new Kinetic.Ellipse({
x: 100, y: 100, radius: 50, stroke: 'red',
draggable: true,
});
oval.on('click', function(evt) {
alert("clicked!"); // Will not be triggered after drag
})
layer.add(oval);
stage.add(layer);

我使用的是kineticjs 4.4.1。请帮忙。

最佳答案

您需要检测拖动状态。 es:

var indrag = false;
oval.on('dragstart', function(evt){
indrag = true;
});
oval.on('dragend', function(evt){
indrag = false;
});

然后:

oval.on('click', function(evt) {
if (!indrag){
alert("clicked!"); // Will not be triggered after drag
}
})

关于javascript - 如何在kineticjs中分别使用draggable和click?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com