微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jquery Draggable – 如何动态创建一个新的可拖动div,然后可以拖动?

我正在使用 jquery,draggable和droppable创建一个日程计划器.

将作业从未分配列拖动到小时时段时,将删除原始可拖动项,并将新div放入页面,并显示作业详细信息.

这个新创建的div代码块,其中包含所有参数以使其可拖动.当它在页面加载时呈现时,这些分配的作业是可拖动的.

只有在使用javascript动态创建它们时才会发生阻止它们被拖拽的事情.

当我使用Javascript动态创建这些新的div标签时,我是否需要做些什么来告诉jquery这些新项目是否应该被拖动?

(一如既往地感谢)

脚步

>我们有一个div容器,里面有一个作业列表(更多的div). #unassignedjobs是这些作业的父div,里面有以下作业,#jobN,#jobN2,#jobN3
>我们有另一个区域,我们可以将这些项目放入,并且在这个区域内是一个用于显示工作的容器,每个人,我们称之为#person1和#person2.
>目的是从未分配的作业列表中拖动作业,并将其放入人员列表中
>在我这样做的那一刻,当一个项目被删除时,我刷新#person1里面的所有html,并使用ajax / PHP重新创建这个人的作业列表(#person1)并使用innerHTML重新填充#person1.
>每次从PHP创建页面时,#person1内的任何作业都会在激活jquery时出现,使它们可以拖动.只有在运行innerHTML的刷新和重新填充时,才能将项目(#jobN或#jobN2)无法拖动

var createdContent = httpRequest.responseText;

jobcolp.innerHTML = createdContent;

希望这会使问题更加清晰.

解决方法

只需将draggable应用于新创建的DIV即可.如果DIV完全相同,除了位置,你也可以不重新创建它,只是重新定位它.这将保留所有的处理程序.
// remove,reposition,reapply handlers
 $('#jobN').remove().appendTo('#dayViewN').draggable();

要么

// reposition,retain handlers
 $('#jobN').appendTo('#dayViewN');

原文地址:https://www.jb51.cc/jquery/178317.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐