jquery-ui – jQuery UI:可排序:正在排序的项目的占位符克隆

我有一个我想要排序的列表.我通过使用jQuery UI Sortable完成了这个.我想要做的是使用自定义占位符来清除列表项的位置.我无法弄清楚的是如何制作一个占位符,它是被排序项目的克隆.我想要显示正在排序的项目的克隆,而不是空的占位符,这样你就可以得到一种“预览”.

简而言之,ui.item [0] .outerHTML是我想用作自定义占位符的东西,我似乎无法得到它.

<script>
  $(function() {
    $( "#menu" ).sortable({
        start: function(event,ui) {
            console.log(ui.item[0].outerHTML);
        },placeholder: {
            element: function(event,ui) {
                console.log(ui.item[0].outerHTML);
            }
        }
    });
    $( "#menu" ).disableSelection();
  });
  </script>

以上是我现在所拥有的,但这显然不起作用.有没有一种简单的方法来完成这项工作,只能进行排序?

解决方法

经过一些修修补补(我从这个 related question中获得灵感),我得出了以下解决方案:

在开始事件中,我克隆正在排序的原始项目.我将克隆传递给占位符,我可以在其中更新它的内容. (ui.item不在这里)

<script>
$(function() {
    $("#menu").sortable({
        start: function( event,ui ) {
            clone = $(ui.item[0].outerHTML).clone();
        },placeholder: {
            element: function(clone,ui) {
                return $('<li class="selected">'+clone[0].innerHTML+'</li>');
            },update: function() {
                return;
            }
        }

    });
});
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


jQuery表单验证提交:前台验证一(图文+视频)
jQuery表单验证提交:前台验证二(图文+视频)
jQuery如何实时监听获取input输入框的值
JQuery怎么判断元素是否存在
jQuery如何实现定时重定向
jquery如何获取复选框选中的值
jQuery如何清空form表单数据
jQuery怎么删除元素节点
JQuery怎么循环输出数组元素
jquery怎么实现点击刷新当前页面
怎么用jquery实现文字左右展开收缩效果
jquery怎么删除html属性
如何用jquery实现图片翻转效果
jquery怎么删除样式属性
jquery如何获取当前元素的位置
如何用jquery实现点击展开收缩效果
jquery怎么实现点击隐藏显示效果
jQuery如何获取当前页面url
jQuery怎么获取鼠标的位置坐标
简洁易懂的jQuery:HTML表单与jQuery