剑道UI -自定义拖放
Kendo UI - Custom Drag and Drop
我正在使用end- ui拖放。我必须定制这个小部件,使其适用于我的原型。我意识到这不是这个小部件的正确实现,但它应该可以用于我的原型设计目的。
我已经走得很远了,我可以把单个物品放到我的掉落目标中。如果你看一下我的js,你可以看到,当我在目标上放置内容时,我正在显示内容。这就是我的问题所在。我有2个下降目标,但我只想显示在我释放列表项上的下降目标的内容。
在我释放项目并将鼠标移进移出放置目标后,事件仍在触发?对象的释放不应该阻止这种情况吗?我不知道发生了什么事?如何在对象释放时停止此函数?
有人知道为什么会这样吗?我认为添加和ID到掉落目标会解决这个问题,但这似乎没有帮助?
<div id="LiveArea">
<div class="HalfPage">
<div class="pedigreeAdded">@Html.Partial("ResultAnimal")</div>
</div>
<div class="HalfPage">
<div class="pedigreeAdded">@Html.Partial("ResultAnimal")</div>
</div>
</div>
<ul id="sortable-basic" class="active">
<li class="sortable">NAME<span>7808123</span></li>
<li class="sortable">NAME<span>7808123</span></li>
<li class="sortable">NAME<span>7808123</span></li>
<li class="sortable">NAME<span>7808123</span></li>
<li class="sortable">NAME<span>7808123</span></li>
<li class="sortable">NAME<span>7808123</span></li>
</ul>
<script>
function draggableOnDragStart1(e) {
$(".drag").addClass("hollow");
}
function draggableOnDragEnd1(e) {
var draggable = $(".drag");
$(".HalfPage").mouseenter(function () {
$(".HalfPage").removeAttr("id");
$(this).attr("id", "droptarget")
if (!draggable.data("kendoDraggable").dropped) {
$('#droptarget > div').show();
console.log("STOP!STOP!STOP!STOP!?") /// this is where I need event to stop
}
draggable.removeClass("hollow");
});
}
$(document).ready(function () {
$(".sortable").mousedown(function () {
$(".sortable").removeClass("drag");
$(this).addClass("drag").kendoDraggable({
hint: function () {
return $(".drag").clone();
},
dragend: draggableOnDragEnd1
});
});
});
</script>
这是由于
$(".HalfPage").mouseenter()
在拖动结束函数中注册一个鼠标事件。你从来没有注销过。
我建议不要使用JQuery事件,而只使用kendo拖放功能来处理这个问题。要做到这一点,您需要声明您的放置目标。
还要记住,你应该在页面开始处定义剑道拖放功能。
在下面的例子中,我使用拖放目标功能来添加一个css类'。高亮-拖放区域'显示当前选择的拖放目标
拖放项上的拖放仅用于清理我正在使用的DOM和CSS。
$(document).ready(function(){
registerDragAndDrop();
});
//sets up charts for the Drag and Drop feature
function registerDragAndDrop() {
//register all target divs
$(".HalfPage").kendoDropTarget({
dragenter: function (e) { e.dropTarget.addClass("highlight-droparea"); },
dragleave: function (e) { e.dropTarget.removeClass("highlight-droparea"); },
drop: function (e) { moveItem(e.draggable.element.attr('id'), e.dropTarget.attr('id')); }
});
//register each item as a draggable object
$(".sortable").each(function () {
$(this).kendoDraggable({
hint: function (e) { return e.clone().attr("id", "draggable").css({ opacity: 0.5 }).removeClass("sortable"); },
dragstart: function (e) { },
dragend: function () { $(".highlight-droparea").removeClass("highlight-droparea"); }
});
});
}
function moveItem(ToMove, Target) {
code to move item...
You can also hide all other drop targets and then show your current one here.
}
相关文章:
- jQuery UI可拖动:自定义捕捉方法
- 使用自定义记号创建可缩放的Y轴
- 如何将自定义字体轻松地放入HTML5画布中
- 自定义内容滚动框'的滚动条在拖动时跳转
- 传单自定义标记图标缩放
- 如何将从谷歌自定义搜索API获取的数据放入复选框列表
- 映射API自定义可拖动方向
- 如何制作自定义的可拖动脚本
- HTML5中的自定义拖放画布
- 拖放文件时,dataTransfer.items属性在Firefox和IE中未定义,但在Chrome中未定义
- jquery 可拖动自定义包含
- 传单:是否可以自定义缩放级别
- 如何将自定义缩放控件添加到使用角度谷歌地图构建的地图中
- 从拖动元素中获取 HTML5 自定义数据属性
- elem 未通过 HTML 5 拖放定义
- JavaScript/HTML5/jQuery 拖放上传 - “未捕获的类型错误:无法读取未定义的属性'文件
- 找不到Angular.js Angular拖放自定义回调函数
- 拖动&将自定义HTML拖放设置为拖动图像
- 在可排序的jquery ui中自定义拖放
- 剑道UI -自定义拖放