jQuery MiniUI

标题: treegrid 的拖拽 e.cancel=true没用 [打印本页]

作者: zuzjx    时间: 2013-7-18 09:36:18     标题: treegrid 的拖拽 e.cancel=true没用

用到了这些事件

<div id="projectTree" class=mini-treegrid"
                url="getProjectList.htm" style="width: 100%; height: 560px;"
                treeColumn="c_name" showTreeIcon="false" idField="c_path"
                parentField="parent_path" resultAsTree="false" allowResize="false"
                allowLeafDropIn="false" allowDrag="true"
                allowDrop="true" dataField="data" showCheckBox="false"
                allowCellEdit="true" allowCellSelect="true"
                selectionchanged="onSelectionChanged"
                onshowrowdetail="onShowRowDetail" headerContextMenu="#headerMenu"
                editNextOnEnterKey="true" allowAlternating="true"
                onbeforedrop="bfdrop">

bfdrop这个方法里面只有e.cancel = true;


作者: factory    时间: 2013-7-18 10:10:05

这个我测试过的,确实是可以e.cancel = true 就能禁止投放的。

[attach]2362[/attach]

你试试这个,这个是不允许投放到base这个节点下。
我已经是过了,是正常的,如果你那边不正常,更新下miniui试试

作者: zuzjx    时间: 2013-7-18 10:26:49

factory 发表于 2013-7-18 10:10
这个我测试过的,确实是可以e.cancel = true 就能禁止投放的。

恩,我测试demo上面的也是可以的,我想知道是不是有事件冲突了呢?
作者: felt    时间: 2013-7-18 10:32:38

你更新下miniui看看行不行,
还是不行的话把页面打包上来看看。
作者: zuzjx    时间: 2013-7-18 11:37:41

felt 发表于 2013-7-18 10:32
你更新下miniui看看行不行,
还是不行的话把页面打包上来看看。

版主,你好,我刚刚测试了下,在ajax请求判断里面写e.cancel就不会执行,请问是什么情况呢?
作者: factory    时间: 2013-7-18 13:07:38

zuzjx 发表于 2013-7-18 11:37
版主,你好,我刚刚测试了下,在ajax请求判断里面写e.cancel就不会执行,请问是什么情况呢? ...

你调试看下,具体代码执行到了吗?
作者: zuzjx    时间: 2013-7-18 13:50:35

factory 发表于 2013-7-18 13:07
你调试看下,具体代码执行到了吗?

恩,代码执行到了。alert已执行到,但是取消排序没有作用
$.ajax({
                url : "../common/dragSort.htm",
                data : {
                        data : json
                },
                type : "post",
                success : function(text) {
                        if (text.rescode == 0) {
                        } else {
                                mini.alert(text.msg);
                                e.cancel = true;
                        }
                },
                error : function(jqXHR, textStatus, errorThrown) {
                        alert(jqXHR.responseText);
                }
        });
作者: factory    时间: 2013-7-18 15:34:29

zuzjx 发表于 2013-7-18 13:50
恩,代码执行到了。alert已执行到,但是取消排序没有作用
$.ajax({
                url : "../common/dragSort.htm",

你看下是不是ajax的同步异步的问题导致的。
作者: zuzjx    时间: 2013-7-18 15:43:16

factory 发表于 2013-7-18 15:34
你看下是不是ajax的同步异步的问题导致的。

现在肯定是因为添加了ajax方法导致的了。该如何解决?
作者: factory    时间: 2013-7-18 16:17:01

zuzjx 发表于 2013-7-18 15:43
现在肯定是因为添加了ajax方法导致的了。该如何解决?

你把ajax设置为同步应该就可以了
$.ajax({
    url:..........,
    async: false,    //默认为true,异步
    data:...
})

试试
作者: zuzjx    时间: 2013-7-18 16:19:11

factory 发表于 2013-7-18 16:17
你把ajax设置为同步应该就可以了
$.ajax({
    url:..........,

谢谢,搞定了。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2