Kinetic JS - 有没有办法在拖动时返回x,y坐标?

时间:2014-06-04 00:12:11

标签: kineticjs

我正在创建一个使用Kinetic JS上下移动的切换滑块。这是我的可拖动切换:

this.toggle = new Kinetic.Rect({
        x: (this.stage.getWidth() / 2) - 20,
        y: 210,
        shadowColor: '#95BA91',
        shadowOffsetX: 5,
        shadowOffsetY: 5,
        width: 40,
        height: 15,
        fill: '#FFF',
        cornerRadius: 3,
        draggable: true,
        dragBoundFunc: function( pos ) {
            return {
                x: this.getAbsolutePosition().x,
                y: pos.y
            }
        }
    });

我试图返回切换的y坐标,这样我就可以根据切换的高度递增一个计数器。我尝试的每个方法都会在拖动期间和之后返回y的原始值。有没有办法获得改变的y值?以下是我已经尝试过的方法:

getY(),getAbsolutePosition()。y,dragDistance(),. y(),getOffset()。y,getPosition()。y

1 个答案:

答案 0 :(得分:2)

我认为您误解了dragBoundFunc的使用。

dragBoundFunc主要用于以某种方式限制形状在被拖动时的移动。

你应该做的是在你的切换形状上附加一个dragmove事件监听器,当你拖动形状时它会触发。

看看这个jsfiddle

每次拖动切换形状时,都会在浏览器的控制台中打印Y坐标。