1.拖放 何为拖放
拖放(拖拽)就是把抓取的对象拖动并防止在其他位置。如下图所示。
2.拖放的步骤
1 将想要拖放的对象元素的draggable属性值设置为 true (img/a元素默认允许拖放)。
2 编写与拖放处理相关的事件代码。
3.以上提到 拖放是要编写拖放事件的代码的 那么 拖放事件包含什么呢
我们通过拖放事件 可以处理拖放相关的各个方面1 哪里发生了拖放2 被拖动的元素有什么事件触发3 要放置被拖动的元素的元素有什么事件触发 拖放 有以下事件
1 .拖动事件
ondragstart 开始拖动 元素默认不可拖放 设置元素的draggable的值为 true 可实现可拖动 img/a除外
ondrag 拖动
dragend 拖动结束
2 .放置事件
ondragenter 将元素拖动到放置元素触发 拖出放置元素 触发dragleave事件
ondragover 在放置元素内移动时触发的事件
drop 放置时触发
拖放的生命周期 dragstart --- drag -- dragenter --- dragover --- drop--- dragend
4.拖放的实现。
1.拖放对象设置为可拖放 元素--- draggable true .
2.自定义放置目标 所有元素都支持放置目标事件 但这些元素默认是不允许放置。所以 可以自定义他们的放置事件
使其成为有效的放置目标 方法是重写drapenter和drapover事件的默认行为 阻止默认行为 以dropover为例 因为要实现
多个拖放事件 所以 以函数来实现
function dragOver(event){ event.preventDefault();} //调用 item.ondragover dragOver;
3.以上 虽然阻止了默认行为 但是 还是无法放置 为什么呢 把一个元素拖拽至令以元素中 他的数据没放进去 怎么会拖拽成功呢 事件对象有一个属性event.dataTansfer,用于从被拖动元素向放置元素传递数据 以字符串格式 所以事件对象处理程序中 拖动时设置该属性的值 并在放置时获取。即将dataTransfer对象setData()方法获取的值 通过getData()方法获取
function dragStrat(event){ event.dataTransfer.setData(text/plain, text } item.ondragstart dragStart;function drop(event){ //getData()方法接收一个值 event.dataTransfer.getData(text/plain);} item.ondrop drop;
以上 拖放事件的基本过程已实现。
点赞 评论本文链接: http://aldrichapl.immuno-online.com/view-762225.html