使用angular帮你实现拖拽的示例

发布时间 - 2026-01-11 02:10:59    点击率:

拖拽有多种写法,在这里就看一看angular版的拖拽。

<!DOCTYPE html>
<html ng-app="myApp">
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      #box{
        width: 100px;
        height: 100px;
        background: black;
        /*一定要给当前元素设置绝对定位*/
        position: absolute;
        left: 0;
        top: 0;
      }
    </style>
  </head>
  <body>
    <div id="box" my-drag></div>
  </body>
    <script src="jquery-3.1.1.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/angular.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
//     自定义一个模块
      var app = angular.module("myApp",[]);
//     自定义指令 自定义指令时一定要使用驼峰命名法
      app.directive('myDrag',function(){
//       返回一个函数
        return{
          link : function(scope,element,attr){
//           scope可以接收到的数据
//           element 当前的元素
//           attr属性
 
//           拖拽的三大事件mousedown,mousemove,mouseup.使用jq绑定事件的方法进行绑定
            element.on('mousedown',function(ev){
//             通过event获取到当前对象
              var This = $(this);
//             获取到鼠标离当前元素上边框的距离
              var disX = ev.clientX - $(this).offset().left;
//             获取到元素距离左边框的距离 
//             因为在拖拽的过程中不变的是鼠标距离元素边框的距离 通过不变和已知求变量
              var disY = ev.clientY - $(this).offset().top;
              $(document).on('mousemove',function(ev){
//               将所改变的值通过样式设置给当前元素
                This.css({
                  left:ev.clientX - disX,
                  top:ev.clientY - disY,
                });
              });
              $(document).on('mouseup',function(){
//               鼠标松开时关闭所有事件
                $(document).off();
              })
            })
          },
          restrict:'A', //ECMA    E元素 C类名 M注释 A属性
        };
      });
    </script>
</html>

以上这篇使用angular帮你实现拖拽的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# angular实现拖拽  # AngularJS实现的简单拖拽功能示例  # angular-ui-sortable实现可拖拽排序列表  # 解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题  # 拖拽  # 鼠标  # 自定义  # 给大家  # 绑定  # 的是  # 在这里  # 帮你  # 三大  # 希望能  # 就看  # 这篇  # 小编  # 有多种  # 大家多多  # 过程中  # 一个函数  # style  # type  # css 


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


相关推荐: Laravel怎么自定义错误页面_Laravel修改404和500页面模板  北京网站制作公司哪家好一点,北京租房网站有哪些?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  微信小程序 input输入框控件详解及实例(多种示例)  太平洋网站制作公司,网络用语太平洋是什么意思?  用yum安装MySQLdb模块的步骤方法  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Python函数文档自动校验_规范解析【教程】  百度浏览器如何管理插件 百度浏览器插件管理方法  中山网站推广排名,中山信息港登录入口?  Laravel如何生成URL和重定向?(路由助手函数)  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Internet Explorer官网直接进入 IE浏览器在线体验版网址  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Laravel如何使用Livewire构建动态组件?(入门代码)  C++时间戳转换成日期时间的步骤和示例代码  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何在阿里云高效完成企业建站全流程?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  装修招标网站设计制作流程,装修招标流程?  Python文件异常处理策略_健壮性说明【指导】  桂林网站制作公司有哪些,桂林马拉松怎么报名?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel如何实现多对多模型关联?(Eloquent教程)  黑客入侵网站服务器的常见手法有哪些?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何快速重置建站主机并恢复默认配置?  如何在局域网内绑定自建网站域名?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  如何用JavaScript实现文本编辑器_光标和选区怎么处理  如何快速完成中国万网建站详细流程?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  如何快速生成ASP一键建站模板并优化安全性?  如何用5美元大硬盘VPS安全高效搭建个人网站?  昵图网官网入口 昵图网素材平台官方入口  EditPlus中的正则表达式 实战(1)  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Laravel如何实现模型的全局作用域?(Global Scope示例)  Linux后台任务运行方法_nohup与&使用技巧【技巧】  如何在万网自助建站平台快速创建网站?  教学论文网站制作软件有哪些,写论文用什么软件 ?  iOS发送验证码倒计时应用