jquery ui实现动态添加元素可拖拽
代码如下
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script> <style> .draggable { width: 200px; height: 200px; border: 1px dotted #000 } </style> <script> $(function() { $( ".draggable" ).draggable(); $("#add_elem").click(function(){ $elem = '<div class="draggable">方框B</div>'; $('body').append($elem); }); }); </script> </head> <body> <button id="add_elem">添加元素</button> <div class="draggable"> <p>方框A</p> </div> </body> </html>
效果图如下:
如图中:
方块A可以拖拽,这个可以理解,但是当点击添加元素按钮生成方块B后,方块B不可以拖拽,这是为什么?有什么办法可以实现对方块B的拖拽?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
= =必然不能。。 .draggable()是主动调用 才会在elem上添加额外的class才能达到拖拽效果。
jsfiddle:http://jsfiddle.net/77Dj2/3381/
↑ 只是对 “当前” 所有 .draggable 启用拖拽
而你的 B 是 “事后” 加的
如果要让 B 也可以拖,只需在生成的时候再次调用 draggable
@木木兔66 的解决方法是对的!
@木木兔66 能不能帮忙看下http://segmentfault.com/q/1010000002763290 这个问题