2016-06-08 40 views
0

我必須創建拖放功能才能將項目從一個區域移動到另一個區域。爲此,我使用fieldchooser.js。它可以幫助我從源代碼拖放到源代碼,源代碼到目的地,目的地到源代碼以及目的地到目的地。但我想刪除從源代碼到源代碼的拖放。 fieldchooser.js怎麼可能?將源代碼拖放到fieldchoose.js中

回答

0

我有一個想法來解決你的問題。有沒有辦法避免在同一列中拖動&,但我認爲避免這種行爲的一種方法是禁用mousedown上的項目並在mouseup上重新激活它們。 這個想法,簡而言之,就是將所有不想移動到同一列表中的所有項目(這裏是關於this的jquery文檔)設置爲被阻止,並在其他列表中移動時重置所有項目,與mouseup。 這裏有一個JavaScript,我用來測試這個解決方案。

$("#sourceFields div").mousedown(function(){ 
    $(this).siblings().addClass("ui-state-disabled"); 
    $("#sourceFields").sortable({ 
     items: "li:not(.ui-state-disabled)" 
     }); 
    }); 
$("#sourceFields div").mouseup(function(){ 
    $(this).siblings().removeClass("ui-state-disabled"); 
    $("#sourceFields").sortable({ 
     items: "li:not(.ui-state-disabled)" 
    }); 
}); 

您需要,無論如何,管理這個解決方案的一些副作用。這個腳本並不是完整的解決所有的行爲,但也許是解決方案的一小步。

我希望能夠有用。

+0

感謝朱塞佩給你的答案。它禁用了源列表中的所有項目,然後我無法將項目移動到目標列表。但它應該可以從源移動到目的地。 –

+0

嗨Vipin,我開發了一個例子,你可以在這裏看到http://jsfiddle.net/cus041kL/1/在我的情況下有兩個副作用,第一個是當你從dest移動到source時,項目移到最後位置。第二個是你必須把注意力集中在源項目列表來反應項目。對不起:) –

+0

並將項目從源移動到目標有時工作,有時它不起作用。但感謝一些爲我工作。:) –