0

我的程序有问题。我想将图层的 setDraggable 设置为 false。但我不知道如何设置它。当用户单击按钮时,我创建了图层。并且该层具有不同的名称。图层名称设置为“abc”+i。i 是一个始终递增的变量。我正在使用 jquery-1.8.3.js、jquery-ui.js 和 kinetic-v4.3.2-beta.js。

document.getElementById('computer').addEventListener('click', function(e) {
    draw(images);
    layer.add(Img);
    stage.add(layer);
    i++;
}, false);

这是函数draw的代码

function draw( images ) {
    Img = new Kinetic.Rect({
       x: 50,
       y: 150,
       width: 50,
       height: 50,
       fillPatternImage: images.abc,
       name: "abc"+i,
       draggable: true
    });
}

然后当用户双击该层时,会出现一个对话框。我将该层的名称保存为变量名称。

layer.on( 'dblclick', function(evt) {
    var shape = evt.shape;
    name = shape.getName();

    $( "#dialog-form" ).dialog( "open" );
});

$( "#dialog-form" ).dialog({
    autoOpen: false,
    height: 350,
    width: 350,
    modal: true,
    buttons: {
        "Submit": function() {
            **name.setDraggable(false);**
        },
        Cancel: function() {
            $( this ).dialog( "close" );
        }
    },
    close: function() {
        allFields.val( "" ).removeClass( "ui-state-error" );
    }
});

我不知道如何使用它..请帮助.. THx ..

4

1 回答 1

0
stage.get(name).setDraggable(false);
于 2013-04-05T13:52:16.393 回答