html 移动事件,关于 html5 拖动事件出现的问题

在学习使用拖动事件的时候,发现不管设置 draggable 为 true 还是 false,元素都可以被拖动.

代码如下

drag

#draggable {

width: 200px;

height: 20px;

text-align: center;

background: white;

}

.dropzone {

width: 200px;

height: 20px;

background: blueviolet;

margin-bottom: 10px;

padding: 10px;

}

This div is draggable

var dragged

document.addEventListener("drag", function (event) {

}, false)

document.addEventListener("dragstart", function (event) {

dragged = event.target

event.target.style.opacity = .5

}, false)

document.addEventListener("dragend", function (event) {

event.target.style.opacity = ""

}, false)

document.addEventListener("dragover", function (event) {

event.preventDefault()

}, false)

document.addEventListener("dragenter", function (event) {

if (event.target.className == "dropzone") {

event.target.style.background = "purple"

}

}, false)

document.addEventListener("dragleave", function (event) {

if (event.target.className == "dropzone") {

event.target.style.background = ""

}

}, false)

document.addEventListener("drop", function (event) {

event.preventDefault()

if (event.target.className == "dropzone") {

event.target.style.background = ""

dragged.parentNode.removeChild(dragged)

event.target.appendChild(dragged)

}

}, false)

想要实现的功能是能够将文字 "这是可以拖动的" 在不同的 div 容器中进行拖动.功能是可以实现,效果如图所示

bVbhMwv?w=267&h=217

但问题是不知道为什么 div 容器也可以被拖动,就算设置了 draggable = 'false' 也不能够解决

div class="dropzone " draggable="false">

这是可以拖动的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值