【技术重温】html之重点(七)

拖放功能


<script type="text/javascript">
function allowDrop(ev)
{
ev.preventDefault();
}


function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}


function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>


<body>
<div id="div1" οndrοp="drop(event)" οndragοver="allowDrop(event)">
  <img src="/i/eg_dragdrop_w3school.gif" draggable="true" οndragstart="drag(event)" id="drag1" />
</div>
<div id="div2" οndrοp="drop(event)" οndragοver="allowDrop(event)"></div>
</body>




步骤
1.把元素drag1设置为可拖放,draggable 属性设置为 true;
2.设置传递参数,此处将要拖放的元素drag1 id 传递给 将要放置的容器中,ondragstart事件触发
ev.target指的是要拖动的目标元素
ev.dataTransfer代表传递的参数,传递的参数都是一些键值对,可以通过setData/getData函数对来实现参数的设置和获取。注意:可以设置或获取多个参数
3.被放置的容器设置ondragover事件,调用 preventDefault() 来阻止数据的浏览器默认处理方式(drop 事件的默认行为是以链接形式打开)
4.被放置的容器设置ondrop事件,注意,此时的ev.target指的是容器,需要2步:
通过getData获取id并通过id获取拖动的元素

通过appendChild将拖动的元素加入到新容器



注意:div1和div2都是容器,都支持拖放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值