0
我在程序中遇到問題。我想將圖層的拖拽設置爲false。但我不知道如何設置它。我在用戶點擊按鈕時創建了圖層。圖層有不同的名稱。圖層的名稱設置爲「abc」+ i。我是一個總是增加的變量。 我使用jquery-1.8.3.js,jquery-ui.js和kinetic-v4.3.2-beta.js。如何在名稱層上設置Draggable(false)
document.getElementById('computer').addEventListener('click', function(e) {
draw(images);
layer.add(Img);
stage.add(layer);
i++;
}, false);
這裏是函數的代碼繪製
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");
}
});
我不知道如何使用that..Please幫助.. ..的THx
爲什麼不直接使用的形狀變量? shape.setDraggable(假);由於getName獲取節點的名稱,因此您可以將該節點作爲形狀正確的參考? – SoluableNonagon 2013-04-05 13:26:16
另外,你可能想在KineticJS API中查看,但我認爲你可以做stage.get(name).setDraggable(false); – SoluableNonagon 2013-04-05 13:27:16
我試過shape.setDraggable(false);它可以。但是當我使用stage.get(name).setDraggable(false);在$(「#dialog-form」).dialog中不起作用。 – della 2013-04-06 01:50:37