实现拖拽

draggable="true"属性设置为true,即可以拖拽.

  • 通过在拖动dom上设置οndragstart="drag(event)"属性方法,在方法中进行ev.dataTransfer.setData(“Text”,ev.target.id);储存.

  • 在释放目标上设置οndrοp=“drop(event)” 属性方法,通过dataTransfer.getData("Text")进行获取到拖动dom.再进行ev.target.appendChild(document.getElementById(data));添加进去

  • 在释放目标上设置οndragοver=allowDrop(event) ,方法中设置event.preventDefault(),阻止关联动作,实现拖拽.

dataTransfer对象可以用来保存被拖动的数据
event.dataTransfer.setData
event.dataTransfer.getData

  • ondragstart用户开始拖动元素时触发
  • ondragenter - 当被鼠标拖动的对象进入其容器范围内时触发此事件
  • ondragover拖动到放置目标范围内拖动时候触发
  • ondrop 在一个拖动过程中,释放鼠标键时触发此事件。
  • ondragend- 用户完成元素拖动后触发
 function allowDrop(ev)
{
ev.preventDefault();
}

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

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

<p>请把 W3School 的图片拖放到矩形中:</p>

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<br />
<img id="drag1" src="/i/eg_dragdrop_w3school.gif" draggable="true" ondragstart="drag(event)" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值