js拖放不能工作,除非我在整个阶段启用它

kinetic.js drag and drop doesn't work unless I enable it for the entire stage

本文关键字:段启用 启用 工作 不能 拖放 非我 js      更新时间:2023-09-26

当为对象设置draggabletrue时,除非我也为舞台启用它,否则它们是不可拖动的。然而,这在我的申请中是非常不希望的;我只希望一些特定的对象是可拖动的。

function initGUI()
{
    stage = new Kinetic.Stage(
    {
        container: 'stage',
        width: w.innerWidth,
        height: w.innerHeight,
        // draggable: true // Uncommenting this makes everything draggable
    });
    layer = new Kinetic.Layer();
    stage.add(layer);
    var debugRect = new Kinetic.Rect(
    {
        fill: 'green',
        x: 0,
        y: 0, 
        draggable: true, // This isn't draggable despite this line
        width: 200,
        height: 200
    })
    layer.add(debugRect);
}
HTML:

<body>
 <div id="stage"></div>
</body>

我以前在一些应用程序中使用过Kinetic,但从未遇到过这种情况。

请看一下。它的工作!演示

var stage = new Kinetic.Stage({
    container: 'container',
    width: 578,
    height: 500
  });
  var layer = new Kinetic.Layer();
 stage.add(layer);
  var debugRect = new Kinetic.Rect(
{
    fill: 'green',
    x: 0,
    y: 0, 
    draggable: true, // This isn't draggable despite this line
    width: 200,
    height: 200
})
layer.add(debugRect);
layer.draw();