为什么不加这个就没效果?
.on('dragover',function(e){
e.preventDefault()
})
加了这个container才能append成功。其他的dragenter、dragleave即便不存在也可以实现效果。
(function(){
var dragSrc
$('.box').each(function(i,ele){
$(ele).on('dragstart',function(e){
dragSrc=$(this)
})
})
$('#container').on('dragenter',function(e){
e.preventDefault()
$(this).addClass('containerDrop')
}).on('dragover',function(e){
e.preventDefault()
}).on('drop',function(e){
e.preventDefault()
$(this).append(dragSrc.find('.line').clone())
$(this).removeClass('containerDrop')
}).on('dragleave',function(e){
e.preventDefault()
// $(this).removeClass('containerDrop')
})
})(jQuery)10
收起
正在回答
2回答
ondragover 事件在可拖动元素或选取的文本正在拖动到放置目标时触发。
默认情况下,数据/元素不能放置到其他元素中。 如果要实现改功能,我们需要防止元素的默认处理方法。我们可以通过调用 event.preventDefault() 方法来实现 ondragover 事件。
组件化思想开发电商网页 18版
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星