2017-08-12 226 views
1

我有一個簡單的可拖動示例,它不起作用。當我嘗試用鼠標移動它時,可拖動的元素(具有綠色邊框的div)不會移動。JQuery可拖動元素不移動

我爲拖碼:

$("#divDraggable").draggable({ 
    revert: 'invalid', 
    helper: 'clone' 

    }); 

我只想元素複製到另一個(大)的元素。如果它沒有掉下來,請將它放回初始位置。爲什麼它不起作用?

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

 

 

 
    
 
    
 
    $("#divDroppable").droppable({ 
 
    accept: '.draggable', 
 
    drop: function (event, ui) { 
 
     debugger; 
 
     var droppable = $(this); 
 
     var draggable = ui.draggable; 
 
     draggable.clone().appendTo(droppable);   
 
    } 
 
    
 
    
 
    }); 
 

 
    
 
    
 
})
#divDroppable{ 
 
    border:1px solid black; 
 
    width: 300px; 
 
    height: 300px; 
 
} 
 

 
#divDraggable{ 
 
    margin-top: 50px; 
 
    width: 100px; 
 
    height: 100px; 
 
    border: 2px solid green; 
 
}
<script src="https://test73.webo.hosting/Scripts/jquery-1.11.0.min.js"></script> 
 
<script src="https://test73.webo.hosting/Scripts/jquery-ui-1.10.4.custom.js"></script> 
 
<link href="https://test73.webo.hosting/Styles/jquery-ui-1.10.0.custom.css" rel="stylesheet"/> 
 

 

 
<div id="divDroppable" class="draggable"></div> 
 
<div id="divDraggable"></div>

回答

1

在這裏,你去了一個解決方案https://jsfiddle.net/4hzcq0q5/

$(function(){ 
 
    
 
    $("#divDraggable").draggable({ 
 
    revert: 'invalid', 
 
    helper: 'clone', 
 
    }); 
 
    
 
    $("#divDroppable").droppable({ 
 
    accept: '.draggable', 
 
    drop: function (event, ui) { 
 
     var droppable = $(this); 
 
     var draggable = ui.draggable; 
 
     draggable.clone().appendTo(droppable);   
 
    } 
 
    }); 
 
})
#divDroppable{ 
 
    border:1px solid black; 
 
    width: 300px; 
 
    height: 300px; 
 
} 
 

 
#divDraggable{ 
 
    margin-top: 50px; 
 
    width: 100px; 
 
    height: 100px; 
 
    border: 2px solid green; 
 
}
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/> 
 
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 
<div id="divDroppable" ></div> 
 
<div id="divDraggable" class="draggable"> 
 

 
</div>

問題是,其中y ou class class="draggable" added to dropped div instead of draggable div

0

你的問題在拖動helper屬性。請檢查這個小提琴,我刪除幫手屬性和它的工作https://jsfiddle.net/x6hdan8L/1/

+0

OP說他們想複製元素而不是移動它,他們可能確實想要'helper:'clone''也許'接受'這個問題? –

+0

好吧,我現在更新小提琴https://jsfiddle.net/x6hdan8L/2/ –

+0

在你的小提琴中,我看不到元素拖動?它在鼠標按鈕被釋放時出現。 – FrenkyB

0

語法錯了。它應該是這樣的:

$("#divDraggable").draggable({ 
    revert: true, 
    helper: 'clone' 

    }); 

工作例如:

draggable

+0

這是您正在尋找的解決方案?但是這個解決方案也沒有改變綠色格局。 – Shiladitya

+0

@Shiladitya - 我已粘貼鏈接到工作示例。在這個例子中,語法就像我原來的問題。雖然,還有一些代碼。我不明白爲什麼它的工作原理和上面的例子不起作用。 – FrenkyB