javascript - jsTree 拖放并不总是有效

标签 javascript

将节点拖到新位置并不总是有效。 我的代码就像

    $("#product-category-tree").jstree({
        "plugins":["themes", "html_data", "dnd"], 
        "themes":{
            "icons": false,
            "dots": false
        }
    }).bind("move_node.jstree", function(e , data){
        data.rslt.o.each(
            function(i){
                $.ajax({
                    type: 'PUT',
                    url: '/product_categories/move',
                    data: {
                        "operation" : "move_node",
                        'drag_id' : $(this).data("id"),
                        'drop_id' : data.rslt.np.data("id"),
                        'index' : data.rslt.cp + i
                    },
                    success: function(r){
                        if (r != 'success'){
                            alert(r);
                            $.jstree.rollback(data.rlbk);
                        }
                    }
                });
            }
        )
    })

最佳答案

项目的 GitHub 页面上有一个 Unresolved 问题 ( #174 )。您可以在那里找到很多解决方法。

我使用过这个,它是侵入性最小的,但仅限于现代浏览器:

#jstree-marker-line {
    pointer-events: none;
}

关于javascript - jsTree 拖放并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10081146/

相关文章:

javascript - 使用链接提交表单时维护按钮提交值

javascript - 仅当使用 jQuery 搜索框中的文本时才显示消息

javascript - 为字符串中的匹配添加前缀

JavaScript 和订阅事件

javascript - 如何添加指向外部 ".html"的灯箱中打开的图像的链接?

javascript - 使用 Vue JS 的可重用文件组件

javascript - 当 div 具有特定类时更改元素 css

javascript - JQuery 不会将 css 规则应用于 IE 6 和 7 上的表格

javascript - useReducer : dispatch action, 在其他组件中显示状态并在分派(dispatch)操作时更新状态

c# - 如何在 asp.net 的代码隐藏中启用禁用按钮