Sortable.js拖拽排序使用方法解析(3)

group{
            pull:true,  则可以拖拽到其他列表 否则反之
            put:true,  则可以从其他列表中放数据到改列表,false则反之
         }
 pull: 'clone', 还有一个作用是克隆,就是当这个列表拖拽到其他列表的时候不会删除改列表的节点。

看看简单的列表互相拖拽dome  只要设置参数group:"words",   group的name要相同才能互相拖拽

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <link href="https://www.jb51.net/app.css" type="text/css"/> <script src="https://www.jb51.net/Sortable.js"></script> <body> <div> <div data-force="30"> <div>List A</div> <ul> <li>бегемот</li> <li>корм</li> <li>антон</li> <li>сало</li> <li>железосталь</li> <li>валик</li> <li>кровать</li> <li>краб</li> </ul> </div> <div data-force="18"> <div>List B</div> <ul> <li>казнить</li> <li>,</li> <li>нельзя</li ><li>помиловать</li> </ul> </div> </div> <script> Sortable.create(document.getElementById('foo'), { group:"words", animation: 150, //动画参数 onAdd: function (evt){ //拖拽时候添加有新的节点的时候发生该事件 console.log('onAdd.foo:', [evt.item, evt.from]); }, onUpdate: function (evt){ //拖拽更新节点位置发生该事件 console.log('onUpdate.foo:', [evt.item, evt.from]); }, onRemove: function (evt){ //删除拖拽节点的时候促发该事件 console.log('onRemove.foo:', [evt.item, evt.from]); }, onStart:function(evt){ //开始拖拽出发该函数 console.log('onStart.foo:', [evt.item, evt.from]); }, onSort:function(evt){ //发生排序发生该事件 console.log('onSort.foo:', [evt.item, evt.from]); }, onEnd: function(evt){ //拖拽完毕之后发生该事件 console.log('onEnd.foo:', [evt.item, evt.from]); } }); Sortable.create(document.getElementById('bar'), { group:"words", animation: 150, //动画参数 onAdd: function (evt){ //拖拽时候添加有新的节点的时候发生该事件 console.log('onAdd.foo:', [evt.item, evt.from]); }, onUpdate: function (evt){ //拖拽更新节点位置发生该事件 console.log('onUpdate.foo:', [evt.item, evt.from]); }, onRemove: function (evt){ //删除拖拽节点的时候促发该事件 console.log('onRemove.foo:', [evt.item, evt.from]); }, onStart:function(evt){ //开始拖拽出发该函数 console.log('onStart.foo:', [evt.item, evt.from]); }, onSort:function(evt){ //发生排序发生该事件 console.log('onSort.foo:', [evt.item, evt.from]); }, onEnd: function(evt){ //拖拽完毕之后发生该事件 console.log('onEnd.foo:', [evt.item, evt.from]); } }); </script> </body> </html>  

当然也支持 只能从a列表拖拽到b列表 dome

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <link href="https://www.jb51.net/app.css" type="text/css"/> <script src="https://www.jb51.net/Sortable.js"></script> <body> <div> <div data-force="30"> <div>List A</div> <ul> <li>бегемот</li> <li>корм</li> <li>антон</li> <li>сало</li> <li>железосталь</li> <li>валик</li> <li>кровать</li> <li>краб</li> </ul> </div> <div data-force="18"> <div>List B</div> <ul> <li>казнить</li> <li>,</li> <li>нельзя</li ><li>помиловать</li> </ul> </div> </div> <script> Sortable.create(document.getElementById('foo'), { group: { name:"words", pull: true, put: true }, animation: 150, //动画参数 onAdd: function (evt){ //拖拽时候添加有新的节点的时候发生该事件 console.log('onAdd.foo:', [evt.item, evt.from]); }, onUpdate: function (evt){ //拖拽更新节点位置发生该事件 console.log('onUpdate.foo:', [evt.item, evt.from]); }, onRemove: function (evt){ //删除拖拽节点的时候促发该事件 console.log('onRemove.foo:', [evt.item, evt.from]); }, onStart:function(evt){ //开始拖拽出发该函数 console.log('onStart.foo:', [evt.item, evt.from]); }, onSort:function(evt){ //发生排序发生该事件 console.log('onSort.foo:', [evt.item, evt.from]); }, onEnd: function(evt){ //拖拽完毕之后发生该事件 console.log('onEnd.foo:', [evt.item, evt.from]); } }); Sortable.create(document.getElementById('bar'), { group: { name:"words", pull: false, put: true }, animation: 150, //动画参数 onAdd: function (evt){ //拖拽时候添加有新的节点的时候发生该事件 console.log('onAdd.foo:', [evt.item, evt.from]); }, onUpdate: function (evt){ //拖拽更新节点位置发生该事件 console.log('onUpdate.foo:', [evt.item, evt.from]); }, onRemove: function (evt){ //删除拖拽节点的时候促发该事件 console.log('onRemove.foo:', [evt.item, evt.from]); }, onStart:function(evt){ //开始拖拽出发该函数 console.log('onStart.foo:', [evt.item, evt.from]); }, onSort:function(evt){ //发生排序发生该事件 console.log('onSort.foo:', [evt.item, evt.from]); }, onEnd: function(evt){ //拖拽完毕之后发生该事件 console.log('onEnd.foo:', [evt.item, evt.from]); } }); </script> </body> </html>

当然也支持克隆 从a列表可克隆dom节点拖拽添加到b俩表 只要把参数 pull: 'clone', 这样就可以了 dome

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzgzwf.html