2

我有一个 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();没有更多的运气使用

4

2 回答 2

3

drop事件处理程序提供了setValid可以防止发生丢弃的功能。例如:

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

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

我写了一个小提琴来演示它是如何工作的。

于 2012-04-13T07:50:11.290 回答
1

如果条件不满足,您是否尝试使用drop事件并在那里调用 prevent default ?

于 2012-04-12T20:26:30.893 回答