2017-08-12 174 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