在我的WebApp中,我使用了一个Kendo ListView,其中每个项目都是可拖动的,可以在Kendo Scheduler中移动事件来注册它们。
ListView中的项目具有以下模板:
<div class="move myDivClass" myOtherAttributes="myOtherAttributes>
<span class="mySpanClass">NUMBER</span>
</div>
我用这段代码制作了Kendo Draggables:
tempList.kendoDraggable({
filter: ".move",
dragstart: function (e) {
//my code
$("#hint").css("margin-left", e.clientX - $(e.initialTarget).offset().left - 20);
},
hint: function (row, event) {
//remove old selection
row.parent().find(".k-state-selected").each(function(){$(this).removeClass("k-state-selected") });
row.addClass("k-state-selected");
var hintElement = row.clone();
hintElement.attr("id", "hint");
hintElement.width(40).height(40);
return hintElement;
}
});
我的问题是,如果我在项目内的数字上方按下鼠标按钮来拖动我的项目,当我放下调度程序时,由于各种原因它不会被保存。 (我花了很长时间才明白这个问题是在那个跨度!)
我甚至提出了某种解决方案,将这种适当性添加到我的KendoDraggables
ignore: "span"
这个解决方案的问题是,如果我在数字上方按下鼠标按钮,我将得到一个&#34;纯文本&#34;选择,而不是拖累。 这是有道理的,因为我从draggables中排除了那个元素。
所以,为了使这项工作正常,我认为我可以做一些事情:
但我不知道这样做。所以我想问题是:
答案 0 :(得分:0)
哦该死的,刚刚找到合适的解决方案:) 我将简单地删除跨度并将数字直接放在div中。
愚蠢的我。