前端Sortable拖拽实现排序

文章讲述了在使用Sortable前端拖拽排序插件时,如何解决input.textarea元素光标无法移动的问题,提供了代码示例和相关事件处理函数。
摘要由CSDN通过智能技术生成

下载地址: https://download.csdn.net/download/dongyan3595/85111182

<script type="text/javascript" src="moduleSet.js"></script>

<script type="text/javascript" src="Sortable.min.js"></script>

前端使用Sortable拖拽排序插件,里面的input.textarea光标无法移动的解决_会飞的哈士奇的博客-CSDN博客

HTML

<div class="layui-row" id="optionDataDiv">

    <div class="layui-row" id="div1" style="margin-left: 20px;margin-top: 5px">
        <div class="layui-col-xs4">
            <input type="text" name="optionKey" class="layui-input" value="" placeholder="选项名">
        </div>
        <div class="layui-col-xs4">
            <input type="text" name="optionValue" class="layui-input" value="" placeholder="选项值">
        </div>
        <div class="layui-col-xs4">
            <button type="button" class="layui-btn layui-btn-primary optionRemove"><i class="layui-icon"></i></button>
            <button type="button" title="长按拖拽排序" class="layui-btn layui-btn-primary module" style="margin-left: -3px!important;"><i class="layui-icon"> ● </i></button>
        </div>
    </div>


    <div class="layui-row" id="div2" style="margin-left: 20px;margin-top: 5px">
        <div class="layui-col-xs4">
            <input type="text" name="optionKey" class="layui-input" value="" placeholder="选项名">
        </div>
        <div class="layui-col-xs4">
            <input type="text" name="optionValue" class="layui-input" value="" placeholder="选项值">
        </div>
        <div class="layui-col-xs4">
            <button type="button" class="layui-btn layui-btn-primary optionRemove"><i class="layui-icon"></i></button>
            <button type="button" title="长按拖拽排序" class="layui-btn layui-btn-primary module" style="margin-left: -3px!important;"><i class="layui-icon"> ● </i></button>
        </div>
    </div>

</div>

JS

        function initOrder() {
            // 父容器
            var container = document.getElementById("optionDataDiv");
            Sortable.create(container, {
                animation: 500, // 排序时移动项目的动画速度,0则不带动画
                handle: ".module", // 将排序开始点击/触摸限制为指定的元素
                draggable: ".layui-row", //指定元素内的哪些项应可排序
                // 改变后触发
                onUpdate: function (evt){
                    //console.log(evt);
                    //console.log(evt.item);
                    //console.log(evt.nextSibling);
                },
                // 选择点击后触发
                onChoose: function (evt) {
                    //console.log(evt);
                    console.log(evt.item.id); //.layui-row的id
                },
            });
        }

实际业务中的应用效果

拖拽排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值