用于webapp的前端堆栈,具有'拖放'功能

时间:2017-07-07 08:43:33

标签: drag-and-drop frontend

多年后我回到网络开发。我在jQuery出现之前做过web开发。

现在我看到很多框架可供选择。我看到了web框架(aurelia,ember等),然后是web设计框架(bootstrap,foundation等)。

我的任务对于网络应用程序的技术选项来说太狭隘了,它将提供一定的拖放用户界面来构建工作流程。

对于拖拽我已经看过,没有使用过,dragulla和interact.js

但是没有亲身体验我处于困惑状态。目前唯一确定的事情是后端将是Django。

你能在这里提供一些指导吗?我主要担心的是能够做到顺畅的拖放体验。我还想保存通过在画布上放置对象而设计的流的状态,以保持工作流的可视化表示。

干杯

1 个答案:

答案 0 :(得分:0)

jquery ui draggable提供了简单而基本的拖放功能。

您可以看到实施起来有多简单:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Draggable + Sortable</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <style>
  ul { list-style-type: none; margin: 0; padding: 0; margin-bottom: 10px; }
  li { margin: 5px; padding: 5px; width: 150px; }
  </style>
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
  $( function() {
    $( "#sortable" ).sortable({
      revert: true
    });
    $( "#draggable" ).draggable({
      connectToSortable: "#sortable",
      helper: "clone",
      revert: "invalid"
    });
    $( "ul, li" ).disableSelection();
  } );
  </script>
</head>
<body>

<ul>
  <li id="draggable" class="ui-state-highlight">Drag me down</li>
</ul>

<ul id="sortable">
  <li class="ui-state-default">Item 1</li>
  <li class="ui-state-default">Item 2</li>
  <li class="ui-state-default">Item 3</li>
  <li class="ui-state-default">Item 4</li>
  <li class="ui-state-default">Item 5</li>
</ul>


</body>
</html>