可以使用相同的类拖动许多元素

时间:2015-05-28 13:40:23

标签: javascript jquery html jquery-ui

我需要能够拖动页面上的所有.note,但是当我使用jQuery UI中的draggable()时,它只适用于第一个.note。我已经下载了jQuery UI并且正在运行。当我点击页面时,它会生成一个新的.note,所以我认为这是一个克隆问题。这是代码

HTML:

<body>
<div id="wrapper">
    <div id="wrp">
         <h1>Click to make a new note!!!</h1>

        <hr>
        <div class="note">
            <p class="remove"><b>X</b>

            </p>
            <div class="time"></div>
            <hr>
            <textarea class="item"></textarea>
            <div class="saved"><span class="msg"></span>

            </div>
        </div>
</body>

JS:

$(".note").closest('.note').draggable();

(我不会包括我所有的JS)

在这里小提琴:http://jsfiddle.net/cjhind/zfxj3cps/46/

有任何建议吗?

1 个答案:

答案 0 :(得分:1)

在onclick函数中添加此额外行,因为jquery无法识别新项目。就像它已经使用.note定位项目一样,你需要重新定位它们。请小心,因为这将再次加载脚本,它将采取两次行动。因此,您插入的许多项目都可以通过firebug看到它更多次调用脚本。如果您需要更多信息,请告诉我们。

&#13;
&#13;
$('#wrp, #wrapper').click(function showNote() {
    $('.note').fadeIn();
    $(".note").closest('.note').draggable(); // ADD THIS TO GIVE YOUR NOTE THE ABILTY TO BE DRAGABLE
});
&#13;
&#13;
&#13;

这有帮助吗?