可以拖拽的元素如何在iframe 中释放(无法触发drop事件)?

可以拖拽的元素如何在iframe 中释放(无法触发drop事件)?

最简单的解决方式:通过css 方式在iframe 上覆盖一层同等宽高的div 并设置透明! 然后在这成div上绑定 drop事件

   <tempalte>
   <div >
       可拖动元素 
    </div>    
   <div class="father">
      <iframe>
          src="url"
          width="100%"
          height="100%"
       </iframe>
       
       <div class="copy" @drop="drop" @dragover="dragover($event)" >
           
       </div>
   </div>
   </tempalte>    
   <style>
       .father{
          position: relative;
       }
       .copy{
            position: absolute;
           top:0%;
           left:0%;
           opacity:0;
       }
   </style>
   <script>
   export default {
       methods:{
           //浏览器块(div等)默认禁止拖拽事件的拖放操作,所以若想监听drop操作,需要在dragover中阻止元素发生默认的行为,然后就可以监听到drop了
            dragover(e) {
               e.preventDefault();
          },
           //释放阶段
           drop(){
              //拖拽完成后要执行的...... 
           },
       }
   }
   </script>

注意:

浏览器块(div等)默认禁止拖拽事件的拖放操作,所以若想监听drop操作,需要在dragover中阻止元素发生默认的行为,然后就可以监听到drop了


源码基于elementui el-tree组件实现
https://gitee.com/liangyanxiong/grop.git
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值