如何使可动态添加的列表元素在jquery中可拖动?

萨加尔

这是我的代码,来自http://jsfiddle.net/XUFUQ/1/

$(document).ready(function()
    {
        addElements();
    }
);

function addElements()
{
    $("#list1").empty().append(
        "<li id='item1' class='list1Items'>Item 1</li>"+
        "<li id='item2' class='list1Items'>Item 2</li>"+
        "<li id='item3' class='list1Items'>Item 3</li>"
    );
}

$(function() {
    // there's the gallery and the trash
    var $gallery = $( "#list1" ),
    $trash = $( "#list2" );

    // let the gallery items be draggable
    $( "li", $gallery ).draggable({
        cancel: "button", // these elements won't initiate dragging
        revert: "invalid", // when not dropped, the item will revert back to its initial position
        containment: "document",
        helper: "clone",
        cursor: "move"
    });

    // let the trash be droppable, accepting the gallery items
    $trash.droppable({
        accept: "#list1 > li",
        drop: function( event, ui ) {
            $("#list2").append(ui.draggable);
            addElements();
    }
    });


});

在准备文档的方法中,我将一些元素追加到list1,然后在该列表上初始化可拖动对象,因此第一次可以拖动list1元素。在放入list2时,我正在调用addElements()函数来清除列表中的某些元素并将其添加到list1中。但是我无法拖动这些添加的元素。

如何使这些元素可拖动?

编码消失了

这是根据更新http://jsfiddle.net/XUFUQ/6/所需执行的操作的丑陋版本最好将可继续使用的代码排除在外:

// let the trash be droppable, accepting the gallery items
$trash.droppable({
    accept: "#list1 > li",
    drop: function( event, ui ) {
        $("#list2").append(ui.draggable);
        addElements();
        $( "li", $gallery ).draggable({
            cancel: "button", // these elements won't initiate dragging
            revert: "invalid", // when not dropped, the item will revert back to its initial position
            containment: "document",
            helper: "clone",
            cursor: "move"
           })
        }
});

基本上,调用draggable仅连接到运行时存在的元素。这会将各种鼠标处理事件添加到每个元素。如果添加元素,它对它们一无所知,因此您需要在这些元素上再次调用draggable。

其他两个答案都给出了可以在何处添加可拖动对象以确保包含元素的示例,但这只是一个编码练习。

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

如何在Selenium Webdriver中处理动态更改的元素

분류에서Dev

如何从动态和非动态创建的控件中打开相同的jQuery对话框

분류에서Dev

使列表中的元素在视觉上重叠

분류에서Dev

状态列表可绘制的自定义单选按钮未更改

분류에서Dev

计算嵌套列表中包含特定元素的列表的数量

분류에서Dev

我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

분류에서Dev

如何将cardHeader组件中的头像元素居中?

분류에서Dev

如何使用XSLT遍历xml文档中的元素

분류에서Dev

JavaScript中的WebDriver:如何检查元素是否存在?

분류에서Dev

这行代码在jquery中如何工作?

분류에서Dev

如何在Qt中添加/更改注册表?

분류에서Dev

Yup模式:如何在错误消息中添加新行

분류에서Dev

将列表元素插入列表列表的Pythonic方法?

분류에서Dev

UFW、wlanからethまで許可

분류에서Dev

列表更改列表中的值

분류에서Dev

如何从jQuery脚本(MVC)调用Partial View中的按钮

분류에서Dev

如何从字符串中删除html DOM元素(使用javascript)?

분류에서Dev

如何将其他参数添加到我的Ajax回调中?

분류에서Dev

在Scala中,如何使用模式匹配来匹配具有指定长度的列表?

분류에서Dev

遍历R中的列表并存储列表

분류에서Dev

如何创建Cookie(具有静态值)以将其添加到C#的.Net 4.5中的CookieContainer中

분류에서Dev

如何获得SVG元素的位置

분류에서Dev

PHP邮件中的动态HTML表

분류에서Dev

动态更改XSL文件中的值

분류에서Dev

如何通过特殊字符将php中的两个数组元素值连接起来?

분류에서Dev

使用功能将节点添加到链接列表

분류에서Dev

如何确保添加标题样式后标题格式不会丢失并且标题编号保留在目录中?

분류에서Dev

WordPressはメニューの説明でHTMLを許可します

분류에서Dev

HTMLとJSの可視性プロパティを変更する癖

Related 관련 기사

  1. 1

    如何在Selenium Webdriver中处理动态更改的元素

  2. 2

    如何从动态和非动态创建的控件中打开相同的jQuery对话框

  3. 3

    使列表中的元素在视觉上重叠

  4. 4

    状态列表可绘制的自定义单选按钮未更改

  5. 5

    计算嵌套列表中包含特定元素的列表的数量

  6. 6

    我将嵌套列表作为Python字典的条目。如何打印第一个元素为“ S”的嵌套列表?

  7. 7

    如何将cardHeader组件中的头像元素居中?

  8. 8

    如何使用XSLT遍历xml文档中的元素

  9. 9

    JavaScript中的WebDriver:如何检查元素是否存在?

  10. 10

    这行代码在jquery中如何工作?

  11. 11

    如何在Qt中添加/更改注册表?

  12. 12

    Yup模式:如何在错误消息中添加新行

  13. 13

    将列表元素插入列表列表的Pythonic方法?

  14. 14

    UFW、wlanからethまで許可

  15. 15

    列表更改列表中的值

  16. 16

    如何从jQuery脚本(MVC)调用Partial View中的按钮

  17. 17

    如何从字符串中删除html DOM元素(使用javascript)?

  18. 18

    如何将其他参数添加到我的Ajax回调中?

  19. 19

    在Scala中,如何使用模式匹配来匹配具有指定长度的列表?

  20. 20

    遍历R中的列表并存储列表

  21. 21

    如何创建Cookie(具有静态值)以将其添加到C#的.Net 4.5中的CookieContainer中

  22. 22

    如何获得SVG元素的位置

  23. 23

    PHP邮件中的动态HTML表

  24. 24

    动态更改XSL文件中的值

  25. 25

    如何通过特殊字符将php中的两个数组元素值连接起来?

  26. 26

    使用功能将节点添加到链接列表

  27. 27

    如何确保添加标题样式后标题格式不会丢失并且标题编号保留在目录中?

  28. 28

    WordPressはメニューの説明でHTMLを許可します

  29. 29

    HTMLとJSの可視性プロパティを変更する癖

뜨겁다태그

보관