04拖拽插件
拖拽插件实现
今天在监听body元素的drop事件时候,由于body元素有多个子节点,所有每个子节点都会触发一次事件。
在进入目标区域时,将最后子元素固定为elemnetNode
节点
在离开区域时进行判断,只有离开时两个DOM节点一样才触发
mounted () {
const _this = this
var elementNode = ''
var dropBox = document.getElementsByTagName('body')[0]
dropBox.addEventListener('drop', this.enentDrop, false)
dropBox.addEventListener('dragleave', function (e) {
e.stopPropagation()
e.preventDefault()
if (elementNode === e.target) {
_this.showModal = false
_this.borderhover = false
}
// _this.$loading().close()
}, false)
dropBox.addEventListener('dragenter', function (e) {
elementNode = e.target
e.stopPropagation()
e.preventDefault()
_this.showModal = true
_this.borderhover = true
}, false)
dropBox.addEventListener('dragover', function (e) {
e.stopPropagation()
e.preventDefault()
_this.borderhover = true
}, false)
}
文件上传
参考
Last updated
Was this helpful?