4

我正在尝试将文本添加到在拖动可排序项目时显示的占位符框中。jQuery 的 UI 中是否有我缺少的功能?现在我正在尝试获取.append()信息,但它不起作用。

这是jQuery函数:

//Sortable Function - Edit Wizard
$(function () {

    //add text to placeholder box
    if ($('.ui-state-highlight').is(':visible')) {
        $('.ui-state-highlight').append('<span>MOVE HERE</span>');
    };


    $(".sortable").sortable({
        placeholder: "ui-state-highlight",
        //revert: true,
        grid: [20, 20],
        handle: '.editMove',
        opacity: 0.6,
        scroll: true,
        scrollSensitivity: 80,
        zIndex: 10
    });
    $(".sortable").disableSelection();
});

编辑

我想需要有一些.live()改变功能.append()

4

2 回答 2

5

您可以从 start 回调中修改占位符,如下所示:

$('#my-sortable').sortable({
    start: function(event, ui) {
        ui.placeholder.html('Placeholder Content!');
    }
});
于 2014-12-28T02:44:03.560 回答
4

我认为问题在于,即使您的条件语句正在寻找 '.ui-state-highlight' 可见,这并不意味着 '$(this)' 指的是该元素,除非 jQuery 有更多内容这里没有显示。我在下面包含了一个小的 jsfiddle 来帮助解释,希望这会有所帮助!

编辑:我加入了一个新的小提琴,我 99% 确定这就是你要找的。

我直接使用jQuery UI - 可排序页面中的示例设置了一个可排序列表,并查看了内置的事件。有一个名为 start 的事件在排序开始时绑定一个事件,我用它来将文本附加到 '.ui-state-highlight'

http://jsfiddle.net/6PrvC/

于 2012-08-22T18:22:05.533 回答