kendo ui取消treeview drop

时间:2012-04-03 14:10:10

标签: drag-and-drop treeview kendo-ui

我有一个TreeView,一旦用户将项目放到所需的位置,它会显示一个对话框并要求确认,如果用户选择取消,我将如何取消该项目的位置,以便它返回到它原来的位置?我目前的代码在下面但不起作用:

var newDiv = $(document.createElement('div'));

newDiv.html('Are you sure you want to move the item: ' + title);
newDiv.dialog( {
    autoOpen: true,
    width: 600,
    buttons: {
        "Save": function () {
            $(this).dialog("close");
        },
        "Cancel": function () {
            $(this).dialog("close");

            e.setValid = false;

        }
    }
});

我也试过在dragend事件上做同样的代码并使用e.preventDefault();而没有更多的运气

2 个答案:

答案 0 :(得分:3)

drop事件处理程序提供setValid函数,可以防止发生丢弃。例如:

function onDrop(e) {
    e.setValid(confirm('Do you wish to move this item here?'));
}

$("#treeView").kendoTreeView({
    // ...
    dragAndDrop: true,
    drop: onDrop
});

我写了fiddle来演示这是如何运作的。

答案 1 :(得分:1)

您是否尝试使用 drop 事件并在不满足条件时调用防止默认值?