vuejs2.0运用原生js实现简单的拖拽元素功能示例

发布时间 - 2026-01-10 23:15:54    点击率:

整理文档,搜刮出一个vuejs2.0运用原生js实现简单的拖拽元素功能示例,留作笔记。

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta charset="utf-8">
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />

<style>
.select-item {
 background-color: #5bc0de;
 display: inline-block;
 text-align: center;
 border-radius: 3px;
 margin-right: 10px;
 cursor:pointer;
 padding: 6px 20px;
 color: #fff;
}
 .cursored{
 cursor: default;
}
.project-content,.people-content {
  margin: 30px 50px;
}
.people-content {
  margin-top: 30px;
}
.drag-div {
  border: 1px solid #5bc0de;
  padding:10px;
  margin-bottom: 10px;
  width: 800px;
  cursor: pointer;
}
.select-project-item {
  display: inline-block;
  text-align: center;
  border-radius: 3px;
}
.drag-people-label{
 margin-bottom:0;
 padding-right:10px;
}
[v-cloak]{
  display:none;
}
</style>
</head>
<body>

<div class='drag-content' id="dragCon" >
 <div class='project-content'>
  <div class='select-item' draggable='true' @dragstart='drag($event)' v-for="pjdt in projectdatas">{{pjdt.name}}</div>
 </div>
 <div class='people-content'>
  <div class='drag-div' v-for="ppdt in peopledata" @drop='drop($event)' @dragover='allowDrop($event)'>
   <div class='select-project-item'>
    <label class='drag-people-label'>{{ppdt.name}}:</label>
   </div>
  </div>
 </div>
</div>
<script type="text/javascript" src="js/vue.min2.js"></script>
<script type="text/javascript">
  var dom;
  var ss = new Vue({
    'el':'#dragCon',
    data:{
      projectdatas:[{
        id:1,
        name:'葡萄'
       },{
        id:2,
        name:'芒果'
       },{
        id:3,
        name:'木瓜'
       },{
        id:4,
        name:'榴莲'
       }],


        peopledata:[{
        id:1,
        name:'小颖'
       },{
        id:2,
        name:'hover'
       },{
        id:3,
        name:'空巢青年三 '
       },{
        id:3,
        name:'一丢丢'
       }]

    },
    mounted:function(){
      this.$nextTick(function(){
        
      })
    },
     watch:{
      projectdatas:{
        handler:function(val,oldval){

        },
        deep:true
      },
      peopledata:{
        handler:function(val,oldval){

        },
        deep:true
      }
    },

    methods: {
      drag:function(event){
        dom = event.currentTarget
      },
      drop:function(event){
       event.preventDefault();
       event.target.appendChild(dom);
      },
      allowDrop:function(event){
       event.preventDefault();
      }
     }

  });


</script>
</body>
</html>

实现效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue.js  # 拖拽  # vue实现拖拽  # vue.js实现拖拽  # vuejs2.0运用原生js实现简单拖拽元素功能  # 利用JavaScript实现拖拽改变元素大小  # JavaScript实现拖拽元素对齐到网格(每次移动固定距离)  # jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载  # JavaScript实现拖拽网页内元素的方法  # javascript实现拖拽并替换网页块元素  # js实现拖拽元素选择和删除  # 大家多多  # 文档  # 空巢  # bc0de  # color  # background  # block  # inline  # display  # keywords  # title  # utf  # description  # item  # select  # style  # pointer  # cursor  # fff 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 非常酷的网站设计制作软件,酷培ai教育官方网站?  网易LOFTER官网链接 老福特网页版登录地址  如何快速使用云服务器搭建个人网站?  如何挑选最适合建站的高性能VPS主机?  微信小程序 input输入框控件详解及实例(多种示例)  如何为不同团队 ID 动态生成多个独立按钮  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  Android GridView 滑动条设置一直显示状态(推荐)  Laravel如何配置任务调度?(Cron Job示例)  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何在IIS7中新建站点?详细步骤解析  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何有效防御Web建站篡改攻击?  Laravel如何处理和验证JSON类型的数据库字段  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  如何在橙子建站上传落地页?操作指南详解  Laravel如何处理异常和错误?(Handler示例)  如何快速登录WAP自助建站平台?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  活动邀请函制作网站有哪些,活动邀请函文案?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  制作公司内部网站有哪些,内网如何建网站?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  网站图片在线制作软件,怎么在图片上做链接?  中国移动官方网站首页入口 中国移动官网网页登录  MySQL查询结果复制到新表的方法(更新、插入)  历史网站制作软件,华为如何找回被删除的网站?  如何快速查询网站的真实建站时间?  香港服务器租用费用高吗?如何避免常见误区?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  如何快速搭建高效简练网站?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何快速搭建高效WAP手机网站?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  新三国志曹操传主线渭水交兵攻略  如何用wdcp快速搭建高效网站?  java获取注册ip实例  Swift中swift中的switch 语句  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  利用vue写todolist单页应用  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  如何安全更换建站之星模板并保留数据?