使用JQuery,我需要能够按下按钮并创建可拖动的div。我的代码如下

我的身体有以下风格

    <style>
        #draggable {
            width: 100px;
            height: 100px;
            background: #ccc;
        }
    </style>


这是我要放置div的容器,以及应该创建新div的按钮。当我在页面加载中创建div时,它是可拖动的,并且可以按预期工作。

    <container id="area">
        <a class="btn btn-primary" id="create_block">Create</a>
        <div id="draggable">Draggable</div>
    </container>


然后,我将这个脚本放在主体中,该主体在单击按钮时创建可拖动的对象,而根据我的理解,该代码使所有具有id =“ draggable”的事物都可拖动。

    <script>
        $( "#create_block" ).click( function() {
            $( '<div/>' ).attr({
                'id' : 'draggable'
            }).appendTo("#area");
        });

        $( '#draggable' ).draggable();
    </script>


当我单击按钮时,它会创建一个样式正确的div,但它不可拖动。

我不确定是什么不适。我看过一些类似情况的不同示例,但似乎应该可以。我想念什么?我正在使用引导程序,但没有其他框架。

如何创建一个新的div,以及其他所有通过按下按钮创建的div,都可以拖动?

最佳答案

此处的示例http://jsfiddle.net/eb34jztf/

您需要启动可拖动到每个新创建的元素的位置,以后请不要在一页上使用相同的id值:)

$("#create_block").click(function () {
$('<div/>').attr({
    'class': 'draggable'
}).draggable().appendTo("#area");
  //initiate draggable on every new created elements
});


//Don't need this part if the draggable elements are only created on click
$('.draggable').draggable(); // initiate the first draggable element that you already have

09-11 18:23
查看更多