aralejs / dnd Goto Github PK
View Code? Open in Web Editor NEWDrag and Drop
License: MIT License
Drag and Drop
License: MIT License
比如一个dialog使用dnd实现拖动,由于dnd是通过复制一份源节点的方式实现拖动,假如给dialog的show加一个css3d效果,那每次拖动的时候也会触发这个效果,拖动几乎不可用,另外不加css3d的情况下第一次拖动失败概率不低,不知道跟dnd通过复制实现拖动的方式有无关系
<div class="dialog">
<div class="head"></div>
<div class="conntent"></div>
</div>
像这种,如果是只想head元素上可以拖动整个dialog。这个应该怎么实现。
<div class="dialog" data-dnd=true>
<div class="head" data-dnd=true></div>
<div class="conntent" data-dnd=false></div>
</div>
试过这种不行。还有看源码说代理元素proxy是处理完移除代理元素
看了一下源码
请问,dnd地 drop多目标该如何设置?假设目标div3个的id分别为的d1 d2 d3 drop:['#d1','#d2','#d3'],但是获取的却只是第一个,即的d1,求解?
组件名: dnd
组件维护人: 叁儿
CR人: 远尘
评分:
Failed on 3 of 9 browsers
,主要是IE兼容性问题constructor function
(dnd.js:22), 有些注释不太直观比如关闭页面Dnd功能,解绑鼠标,esc事件
(dnd.js:83)executeDrop(callback) {...}
测试边界和方向约束
就可以拆成两个用例总分: 80
基本按照review和大家的建议进行修改
主要fix如下:
还有几个问题:
_site 目录和 sea-modules 不要提交上来。
如果有一个tableview,要能拖拽超过100行以上的tr,怎么办?
个人觉得放在 工具 会比 UI组件 更合适
毕竟 Dnd(element, config)
的接口设计 和 整个 arale widget 体系的差异 很大
源节点,边界元素,代理元素,目标元素(集合)这些元素之间的合法性要不要检查?若放在setter上处理,那么单独一个属性合法性检查很简单。但是这些相互依赖的合法性不好检查,尤其是初始化时元素设置值顺序不定,所以想去掉这部门相互之间的合法性检查
new Dnd('#b', { proxy: '#a' });
b属于a子节点,
直接挂掉;
一个变通的方法,设置new Dnd('#a');然后在a节点除了b节点以外的所有子节点上设置data-dnd=false属性值,目的达到了,实现方法好2,
dnd 是不是做了禁止冒泡事件的?
直接看到实现了,却没有文档。。
叁儿和欧阳靖主导,先把 README 搞好,其他人可以提提建议。
把html里的和js里的对应起来吧?
比如
<div id="drag5" class="drag" data-dnd=true
data-config='{"drop": "#drop3", "zIndex": 99}'>ss</div>
<br/>
<div id="drop3" class="container">nihao</div>
dnd = new Dnd('#drag5', {drop: '#drop3', proxy: proxy, visible: true,
revert: true}) ;
现在例子里面 貌似ID不对应
貌似如果使用class 一次绑定多个容器拖拽事件是不行的···
既然arale主要为支付宝服务,那么dnd也应该主要针对支付宝的应用情景而设计
....
//427
else if (element.css('position') === 'absolute') {
xleft = proxy.offset().left;
xtop = proxy.offset().top;
}
...
//改成position()获取位置
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.