我需要模拟拖放桌面图标,我这样做:
$(".draggable").kendoDraggable({
container: $("#desktop"),
hint: function() {
return $(".draggable").clone();
},
dragend: function(e) {
console.log(e);
console.log(e.currentTarget.attr("src"));
e.currentTarget.css("top",e.y.location);
e.currentTarget.css("left",e.x.location);
}
});
但我不确定这是否是一个很好的方式,拖动回滚效果会破坏我的解决方案。
Hava是一种使用KendoUI(No Jquery UI draggable)执行此操作的简单方法。
任何帮助!
答案 0 :(得分:4)
我过去做过这样的事情如下:
定义了以下CSS样式
.draggable {
position: absolute;
background: #aaaaaa;
width: 100px;
height: 100px;
vertical-align: middle;
}
.ob-hide {
display: none;
}
.ob-clone {
background: #cccccc;
}
(你实际上只需要ob-hide)。
将draggable定义为:
$('.draggable').kendoDraggable({
hint : function (original) {
return original.clone().addClass("ob-clone");
},
dragstart: function (e) {
$(e.target).addClass("ob-hide");
}
});
定义要移动的区域:
$('body').kendoDropTarget({
drop: function (e) {
var pos = $(".ob-clone").offset();
$(e.draggable.currentTarget)
.removeClass("ob-hide")
.offset(pos);
}
})
我的HTML是:
<body style="padding: 0; margin: 0; ">
<div id="drop" style="position: absolute; width: 100%; height: 100%; border: 2px solid #000000">
<div class="draggable">
Drag 1
</div>
<div class="draggable">
Drag 2
</div>
</div>
</body>