2014-10-16 28 views
0

林 - JSFIDDLEjQuery的導致錯誤和CSS使用此代碼(的jsfiddle)堅持

當項目被拖動到正確的盒子,它禁止被再次拖了原來的。問題在於它會導致css粘住,使得接受被拖動物品劑量的盒子的綠色消失。

它在控制檯還產生這樣的錯誤:

未被捕獲的錯誤:不能調用上拖動的方法來初始化之前;試圖調用方法'禁用'。

任何幫助都會很好。

另外我怎樣才能改變殘疾人士的顏色爲灰色。

JS:

$(".DragItem").draggable({ 
    revert: 'invalid', 
    helper: "clone" 
}); 

$(".drop1").droppable({ 
    accept: '#1,#2,#3', 
    activeClass: 'DropTargetValid', 
    drop: function (ev, ui) { 
     $(ev.target).draggable('disable'); 
     $(ev.target).append(ui.draggable.clone()); 

    } 
}); 

$(".drop2").droppable({ 
    accept: '#2,#3', 
    activeClass: 'DropTargetValid', 
    drop: function (ev, ui) { 
     $(ev.target).draggable('disable'); 
     $(ev.target).append(ui.draggable.clone()); 
    } 
}); 

$(".drop3").droppable({ 
    accept: '#3,#4', 
    activeClass: 'DropTargetValid', 
    drop: function (ev, ui) { 
     $(ev.target).draggable('disable'); 
     $(ev.target).append(ui.draggable.clone()); 
    } 
}); 

$(".drop4").droppable({ 
    accept: '.DragItem', 
    activeClass: 'DropTargetValid', 
    drop: function (ev, ui) { 
     $(ev.target).draggable('disable'); 
     $(ev.target).append(ui.draggable.clone()); 
    } 
}); 

回答

0

我相信這是你正在尋找http://jsfiddle.net/vm9DS/48/

首先,我刪除的ID從可拖動對象,因爲當你克隆他們,你結了很多具有相同ID的元素,這是不允許的。

至於其餘代碼:

代碼只是刪除這一行

$(ev.target).draggable('disable'); 

它不工作,因爲ev.target是可放開對象不能拖動,並導致錯誤:)

而對於灰色只需添加這的CSS,所以每當你在掉物品開關DROPITEM掉落dragItem它會改變的背景爲灰色:)

.DropItem .DragItem{ 
    background-color: grey; 
} 
1

JSFiddle

可以初始化拖動與$(ev.target).draggable();

相關問題