如何按名称在图层上设置可拖动(false)

时间:2013-04-05 06:32:33

标签: jquery jquery-ui kineticjs

我的程序有问题。我想将图层的可剥离性设置为false。但我不知道如何设置它。我在用户点击按钮时创建了图层。并且图层具有不同的名称。图层名称设置为“abc”+ 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 ..

1 个答案:

答案 0 :(得分:0)

stage.get(name).setDraggable(false);
相关问题