【问题标题】:jquery-ui sortable: how to change the DOM of the dragging elementjquery-ui sortable:如何改变拖动元素的DOM
【发布时间】:2013-05-29 12:23:28
【问题描述】:

我正在使用jquery-ui sortable,我想问我如何更改拖动元素的DOM(需要为正在拖动/排序的元素添加图标)。所以

 $("#list").sortable({
    helper: function(event, ui){
        ...
    }
 });

我在这种情况下使用helper属性,根据文档,ui是被排序的元素,但是我如何访问这个对象的元素的html。谢谢

更新:我创建了一个小的 jsfiddle http://jsfiddle.net/y6xtV/1/。我想要的是,当我开始重新排序时,拖动/重新排序的项目周围有一个边框,里面有一个小图标。请帮忙

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-sortable


    【解决方案1】:

    你想让助手有一个边框和一个里面的图像还是被拖动的“原始”元素?

    这是我想出的。请看我制作的jsfiddle

    JS

    $(function () {
        $("#sortable").sortable({
            start: function (event, ui) {
                ui.item.css('border', '1px solid red').append('<span class="ui-icon ui-icon-check icons"></span>');
            },
            stop: function (event, ui) {
                //reset to no border or whatever your desired default border is
                ui.item.css('border', '');
                ui.item.children('.icons').remove();
            }
        });
        $("#sortable").disableSelection();
    });
    

    CSS

    .icons {
        display:inline-block;
        position: absolute;
        right: 0;
    }
    #helper {
        border: 1px solid red;
    }
    

    如果你想使用helper

    //sortable
    helper: function (event, ui) {
        return $('<div id="helper">I am the helper<span class="ui-icon ui-icon-check icons"></span></div>');
    }
    

    测试助手注释掉startstop,反之,注释掉helper函数。 我还添加了一个 CSS 主题来添加 ui-icons

    不确定您是否真的想使用helper。有点混乱......但我的解决方案将边框和图像添加到拖动的项目。

    文档:

    【讨论】:

    • 非常感谢。我有一个奇怪的行为。因此,当我拖动/重新排序项目时,在 chrome 上,拖动/重新排序的项目不在我的光标所在的位置。它离我的光标右下角大约 30 像素。这不会发生在 IE9 上。这让我觉得这是一个CSS问题。我无法在小范围内复制它。你有什么理论或猜测吗?
    • 很高兴它有帮助!很难猜。这是否也仅在 Chrome 或 Firefox 等上发生?当您开始排序时,光标是否会跳跃或表现如何?一个解决方案(因为我只能猜测您的问题)是使用cursorAt“强制”将光标设置在指定位置。不漂亮,但我猜应该可以。
    • 如我所料,这是因为css,一旦我删除-webkit-perspective-webkit-transform-style,一切恢复正常
    猜你喜欢
    • 2011-05-27
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    相关资源
    最近更新 更多