Функция перетаскивания является одной из мощных функций, добавленных для облегчения задачи разработчика. По сути, операция перетаскивания — это жест щелчка на каком-либо элементе пользовательского интерфейса, в то время как кнопка мыши удерживается нажатой, а мышь перемещается. Операция удаления происходит, когда кнопка мыши отпускается после операции перетаскивания.
Синтаксис
Добавление класса drag and drop для перетаскиваемых целей.
var dd = Ext.create('Ext.dd.DD', el, 'imagesDDGroup', { isTarget: false });
Добавление перетаскивания целевого класса к перетаскиваемой цели.
var mainTarget = Ext.create('Ext.dd.DDTarget', 'mainRoom', 'imagesDDGroup', { ignoreSelf: false });
пример
Ниже приведен простой пример.
<!DOCTYPE html> <html> <head> <link href = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/theme-classic/resources/theme-classic-all.css" rel = "stylesheet" /> <script type = "text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/ext-all.js"></script> <script type = "text/javascript"> Ext.application ({ launch: function() { var images = Ext.get('images').select('img'); Ext.each(images.elements, function(el) { var dd = Ext.create('Ext.dd.DD', el, 'imagesDDGroup', { isTarget: false }); }); } }); var mainTarget = Ext.create('Ext.dd.DDTarget', 'mainRoom', 'imagesDDGroup', { ignoreSelf: false }); </script> <style> #content { width:600px; height:400px; padding:10px; border:1px solid #000; } #images { float:left; width:40%; height:100%; border:1px solid Black; background-color:rgba(222, 222, 222, 1.0); } #mainRoom { float:left; width:55%; height:100%; margin-left:15px; border:1px solid Black; background-color:rgba(222, 222, 222, 1.0); } .image { width:64px; height:64px; margin:10px; cursor:pointer; border:1px solid Black; display: inline-block; } </style> </head> <body> <div id = "content"> <div id = "images"> <img src = "/extjs/images/1.jpg" class = "image" /> <img src = "/extjs/images/2.jpg" class = "image" /> <img src = "/extjs/images/3.jpg" class = "image" /> <img src = "/extjs/images/4.jpg" class = "image" /> <img src = "/extjs/images/5.jpg" class = "image" /> <img src = "/extjs/images/6.jpg" class = "image" /> <img src = "/extjs/images/7.jpg" class = "image" /> <img src = "/extjs/images/8.jpg" class = "image" /> </div> <div id = "mainRoom"></div> </div> </body> </html>
Вышеуказанная программа даст следующий результат —
С помощью перетаскивания в Extjs мы можем перемещать данные из сетки в сетку и из сетки в форму. Ниже приведены примеры перемещения данных между сетками и формами.