jquery - 如何在 Jquery 嵌套列表中禁用拖放

标签 jquery html user-interface jquery-nestable

我正在尝试使用 jquery nestable 创建嵌套列表,并在整个列表中禁用拖动功能。 下面是我的 html。

<div class="dd" id="nestable">
<ol class="dd-list">
    <li class="dd-item" id="no-drag">
        <div class="dd-handle">
            Foo
            <div class="pull-right action-buttons">
                <a class="blue" href="#">
                    <i class="ace-icon fa fa-pencil bigger-130"></i>
                </a>

                <a class="red" href="#">
                    <i class="ace-icon fa fa-trash-o bigger-130"></i>
                </a>
            </div>

        </div>
        <ol class="dd-list">
            <li class="dd-item" id="no-drag">
                <div class="dd-handle">
                    Bar
                    <div class="pull-right action-buttons">
                        <a class="blue" href="#">
                            <i class="ace-icon fa fa-pencil bigger-130"></i>
                        </a>

                        <a class="red" href="#">
                            <i class="ace-icon fa fa-trash-o bigger-130"></i>
                        </a>
                    </div>

                </div>
                <ol class="dd-list">
                    <li class="dd-item" id="no-drag">
                        <div class="dd-handle">
                            Baz
                            <div class="pull-right action-buttons">
                                <a class="blue" href="#">
                                    <i class="ace-icon fa fa-pencil bigger-130"></i>
                                </a>

                                <a class="red" href="#">
                                    <i class="ace-icon fa fa-trash-o bigger-130"></i>
                                </a>
                            </div>

                        </div>
                    </li>
                </ol>
            </li>
        </ol>
    </li>
</ol>

我的脚本如下所示:

$('.dd').each(function(){
            $(this).nestable({
                maxDepth: 1,
                group: $(this).prop('id')
            });
        });

目前,无法创建嵌套列表,用户可以重新排列嵌套列表。我希望禁用该功能,但我做不到。请指教。

最佳答案

我遇到了类似的问题,并通过使用 CSS pointer-events 修复了它。

CSS:

.drag_disabled{
    pointer-events: none;
}

.drag_enabled{
    pointer-events: all;
}

HTML:

<label class=""><input id="draggable_list" class="" name="draggable_list" type="checkbox" value="false"> <span>Activate Ordering </span></label>

<div id="list" class="drag_disabled dd">
    <ol class="dd-list">
        <li class="dd-item" data-id="Item 1">
            <div class="dd-handle dd-outline dd-anim">
                Text 1
                </div>
            </div>
        </li>
        <li class="dd-item" data-id="Item 3">
            <div class="dd-handle dd-outline dd-anim">
                Text 2
            </div>
        </li>
    </ol>
</div>

JavaScript(只需在复选框上切换类 drag_enableddrag_disabled:

$('#list').nestable({maxDepth: 1});

     $('#draggable_list').change(function(){
         $('#list').toggleClass('drag_disabled drag_enabled');
     });

关于jquery - 如何在 Jquery 嵌套列表中禁用拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44224764/

相关文章:

javascript - 营业时间 - DIV 取决于星期几和小时

javascript - Chrome Canvas 文本框

html - 位置:固定; CSS 不工作

python - Tkinter - 流向不同的窗口

jquery - 如何使用 jQuery 打开和关闭单选按钮?

javascript - 如何使用 jQuery 同时应用悬停和单击事件

javascript - 无法通过 Angular JS 中的 ng-click 传递 anchor 标记 ID 值。获取未定义的值

java - 类似的输入对话框创建模式/Swing

c# - 访问按钮内的 TextBlock.Text

javascript - jQuery 在父元素上切换 onclick