javascript - 在保持可排序性的同时更改 JqueryUI 可排序元素的类

标签 javascript jquery html css jquery-ui-sortable

我正在使用 JqueryUI 对树中一组嵌套的 olli 元素进行排序。我还在每个叶节点处放置了空的 ol 元素,以便可以将子节点添加到叶节点。

目前空白占位符一直显示并且工作正常。但是我想隐藏它们,直到我开始对 ulli 元素进行排序。
通过使用 Jquery,我可以更改空元素的 css 类以根据需要显示和隐藏它们(添加或删除边框和高度)。我已将它们连接到 .sortable 中的 startstop 事件,此显示/隐藏也有效。

但是,占位符不再作为接受其他可排序元素的区域。

我该如何解决这个问题,以便占位符在更改类后仍然作为有效的可放置区域工作。

注意,我确实保留了占位符元素的 ui-sortable 类。

谢谢。

代码:

$(".sitemapList").sortable(
{
    placeholder: "ui-state-highlight1",
    distance: 5,
    connectWith: ".sitemapList", 
    start: function (event, ui)
    {         
        var change = $(".dontShow");
        var length = change.length;
        for (var i = 0; i < length; i++)
        {
            $(change[i]).attr("class", "sitemapList show ui-sortable");
        }
    },
    stop: function (event, ui)
    {
        var change = $(".show");
        var length = change.length;
        for (var i = 0; i < length; i++)
        {
            $(change[i]).attr("class", "sitemapList dontShow ui-sortable");
        }
    }
});

CSS:

    .siteMap ol.show  
     {
        min-height:28px;
        width:15%;
        /*background-color:#f7eac9;*/
        border:dotted 1px;
     }

    .siteMap ol.dontShow
     {
     }

最佳答案

关于javascript - 在保持可排序性的同时更改 JqueryUI 可排序元素的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19300972/

相关文章:

javascript - Node.js 中的 XML(使用 Javascript)

Javascript:按时间顺序对用户输入进行排序

c# - ASP.NET Gridview 列大小调整

html - 水平放置 div 图片

javascript - HTML 中鼠标跟随的动画图像蒙版

javascript - Chrome.ExecuteScript 问题

javascript - 代码运行成功但在浏览器中未显示输出

javascript - 当仅按下一个特定按钮时,如何使用 JQuery 验证表单?

html - 响应页面中的 Div 忽略移动浏览器中的视口(viewport)大小

html - "modal"div,内容与IE8透明div的交互问题