angular.js 自定义指令拖拽

这篇文章主要给大家介绍了关于Angular.js如何通过自定义指令directive实现滑块滑动的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用angularjs具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>自定义指令拖拽</title>

<script src="angular.min.js"></script>

<style>

#box{

            position:absolute;

            top:200px;

            left:200px;

            width:200px;

            height:200px;

            background-color:red;

}

</style>

</head>

<body ng-app="myApp">

<div id="box" move-directive></div>

</body>

<script>

var oBox=document.getElementById("box");

    angular.module('myApp',[]).directive("moveDirective",function(){

        var obj = {

            restrict : 'ECMA',

            link : function(scope,element,attr){

                oBox.onmousedown = function(ev){

                    var event =ev || window.event,

                        disW = event.clientX - oBox.offsetLeft,

                        disH = event.clientY - oBox.offsetTop;

                    document.onmousemove = function(ev){

                        var event =ev || window.event,

                            posL = event.clientX - disW,

                            posT = event.clientY - disH;

                        oBox.style.left = posL+"px";

                        oBox.style.top = posT+"px"; 

                    }

                    document.onmouseup = function(){

                    document.onmousemove = null;

                    document.onmouseup=null;


                    //释放捕获

                     oBox.releaseCapture && oBox.releaseCapture();

                };

                };

                //设置捕获 

                oBox.setCapture && oBox.setCapture();

            }

        };

        return obj;

    });

</script>

</html>

可以兼容ie低版本,拖拽的同时取消了浏览器默认事件,不会选中文字。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 事件对象 鼠标事件 event.clientX在可视区中,鼠标点击的x坐标 event.clientY在可视区中,...
    LaBaby_阅读 657评论 0 1
  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 1,998评论 0 1
  • 什么是模块化开发? 前端开发中,起初只要在script标签中嵌入几十上百行代码就能实现一些基本的交互效果,后来js...
    半世韶华忆阑珊阅读 717评论 0 0
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,126评论 0 2
  • 一、DOM 什么是DOM?Document Object Model(文档对象模型)。DOM是针对HTML和XML...
    空谷悠阅读 1,028评论 0 2

友情链接更多精彩内容