angular drag and drop 笔记

这是原文 http://marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/simple

看起来很多功能,所以我只记入我需要的部分就好,等下次需要更多功能,再添加笔记内容。

简单需求:

·在dnd时,array里的对象会因为dnd而排序

·在drag时,css可以有些简单效果,引导用户使用

·不能在view里给orderBy

先做基本的注入

<script src="http://marceljuenemann.github.io/angular-drag-and-drop-lists/angular-drag-and-drop-lists.js"></script>
<script>
    var app = angular.module(‘App‘, [‘dndLists‘]);     ...

在view上只需给上属性就好

<ul dnd-list="FAQs" class="col s12">
    <li ng-repeat="FAQ in FAQs"
        dnd-draggable="FAQ"
        dnd-moved="FAQs.splice($index, 1)"
        dnd-effect-allowed="move"
        class="card-panel ">
        {{ FAQ.question }}
    </li>
</ul>

  

css (简化版)

ul[dnd-list] .dndDraggingSource {
    display:none;
}

ul[dnd-list] .dndPlaceholder {
    display: block;
    background-color: #ddd;
    height:130px;
}

  

原理:

在开始drag时,本drag的elem会display none, 同时在移动时会出现placeholder,这是让你drop的地方。

会遇到的问题:

由于是指令自己给elem在drop的位置,所以他只给简单的elem (<li class="dndPlaceholder"></li>)。是不是想问“如果是div被drag呢?指令是否会给同样的tagName ?

答:不是!这东西就是这里不好!同时被指令创建的elem placeholder应该具备被drag的css样式。

  不能给orderBy(angular filter 功能),因为这plugin的demo没有给orderby做示范。我做了测试,不能兼容,因为drag的对象,drop的是位置,这样就完蛋咯~

时间: 2024-08-03 09:25:43

angular drag and drop 笔记的相关文章

原生拖拽,拖放事件(drag and drop)

原生拖拽,拖放事件(drag and drop) 拖拽,拖放事件可以通过拖拽实现数据传递,达到良好的交互效果,如:从操作系统拖拽文件实现文件选择,拖拽实现元素布局的修改. drag and drop事件流程 一个完整的drag and drop流程通常包含以下几个步骤: 设置可拖拽目标.设置属性draggable="true"实现元素的可拖拽. 监听dragstart设置拖拽数据 为拖拽操作设置反馈图标(可选) 设置允许的拖放效果,如copy,move,link 设置拖放目标,默认情况

[Javascript + rxjs] Simple drag and drop with Observables

Armed with the map and concatAll functions, we can create fairly complex interactions in a simple way. We will use Observable to create a simple drag and drop example with basic DOM elements. <!DOCTYPE html> <html> <head lang="en"

关于QListWidget的Drag和Drop用法

QListWIdget的Drag和Drop. 真是坑爹到不行... 其实很简单的.. 最后搞到好多行代码.. 真是作死的节奏............... 先上代码:<这种方法也可以实现, 但是太麻烦了...> #include "PlayerDragWidget.h" #include "PlayerLyricsListItem.h" #include <QDrag> #include <QPainter> #include &

基于HTML5的Drag and Drop生成图片Base64信息

直击现场 基于HTML5的Drag and Drop生成图片Base64信息 发表于4个月前(2014-12-19 00:58)   阅读(103) | 评论(0) 11人收藏此文章, 我要收藏 赞0 慕课网,程序员升职加薪神器,点击免费学习 摘要 HTML5的Drag and Drop是很不错的功能,网上使用例子较多如 http://html5demos.com/drag ,但这些例子大部分没实际用途,本文将搞个有点使用价值的例子,通过Drag and Drop生成图片的Base64的字符串信

drag and drop

<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); } function drop(ev) { ev.preventDef

delphi Drag and Drop sample 鼠标拖放操作实例

Drag and Drop is a common operation that makes the interface user friendly: a user can drag/drop information to controls instead of having to type etc. The following sample explains basics of drag and drop. For detailed information you should refer t

Rigidbody中 Angular Drag (角阻力):

Rigidbody中 Angular Drag  (角阻力):同样指的是空气阻力,只不过是用来阻碍物体旋转的.如果设置成无限的话,物体会立即停止旋转.如果设置成0,物体在上升过程中,会发生侧翻旋转. Freeze Position/Rotation(冻结位置/旋转): 可以对物体在X.Y.Z三个轴上的位置/旋转进行锁定,即使受到相应的力也不会改变,但可以通过脚本来修改.否则物体在上升过程中会发生飘动(不仅y轴变化,X,Z也在变,不想这种现象,就把X,Z锁定)

通过HTML5的Drag and Drop生成拓扑图片Base64信息

HTML5 原生的 Drag and Drop是很不错的功能,网上使用例子较多如 http://html5demos.com/drag ,但这些例子大部分没实际用途,本文将搞个有点使用价值的例子,通过Drag and Drop生成图片的Base64的字符串信息. 使用Base64方式的图片有诸多好处,可将多个图片信息整合到单个js文件避免多次http请求,可以避免WebGL例子跨域访问的安全限制无法本地文件运行等好处,当然弊端也不少例如不能有效利用浏览器图片缓存机制等.使用HT for Web的

Android 用户界面---拖放(Drag and Drop)(三)

设计拖放操作 本节主要内容如下: 1.  如何开始拖拽: 2.  在拖拽期间如何响应事件: 3.  如何响应落下事件: 4.  如何结束拖放操作. 开始拖拽 用户使用一个拖拽手势开始拖拽,通常是在View对象上长按.在响应中,应该做下列事情: 1.  必要时,给要移动的数据创建一个ClipData和ClipData.Item对象,作为ClipData对象的一部分,在ClipData对象内部的ClipDescription对象中保存了元数据.因为拖放操作不代表数据的移动,因此可以使用null来代替