sortable.js draggable 指定样式类的元素才允许拖动

sortable.js draggable 指定样式类的元素才允许拖动,比如指定类名为item的元素才允许拖动,但是需要注意的是设置该属性时需要在样式名之前加点。

draggable属性

属性名称类型说明
draggablestring指定class样式名称,注意要带点 draggable:".move"

代码例子

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>sortable.js draggable属性例子</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
    <script src="https://www.itxst.com/package/sortable/sortable.min.js"></script>
    <style>
        #itxst {
            margin: 10px auto;
            width: 80%;
        }


            #itxst div {
                padding: 6px;
                background-color: #fdfdfd;
                border: solid 1px #eee;
                margin-bottom: 10px;
                cursor: move;
            }
    </style>
</head>
<body>
    <div id="itxst">
        <div class="item" data-id="1">item 1</div>
        <div data-id="2">item 2(此元素未设置class="item" 所以无法拖动)</div>
        <div class="item" data-id="3">item 3</div>
    </div>
    <script>
        //获取对象
        var el = document.getElementById('itxst');
        //设置配置
        var ops = {
            animation: 1000,
            //*************** 设置样式名为item的元素才允许拖动 ******************
            draggable: ".item",
            //拖动结束
            onEnd: function (evt) {
                console.log(evt);
                //获取拖动后的排序
                var arr = sortable.toArray();
                alert(JSON.stringify(arr));
            },
        };
        //初始化
        var sortable = Sortable.create(el, ops);
    </script>
</body>
</html>