自定义拖拽面板angular7_AngularJS实现的简单拖拽功能示例

本文通过实例展示了如何在AngularJS中实现简单的拖拽功能,包括创建自定义指令和处理鼠标事件,允许用户拖动元素并更新其位置。
摘要由CSDN通过智能技术生成

本文实例讲述了AngularJS实现的简单拖拽功能。分享给大家供大家参考,具体如下:

www.jb51.net AngularJS拖拽

*{

padding:0;

margin:0;

}

.wei{

width:100px;

height:100px;

background: red;

position:absolute;

cursor: pointer;

/*left:0;top:0;*/

}

var app = angular.module('myApp',[]);

//自定义属性

app.directive("weiYi",function(){

return{

restrict :'A',//A属性,E标签,C类名,D注释

link :function(scope,element,attr){

attr.data=angular.equals(attr.data,"true");

//console.log(attr.data);

console.log(element);

element.on("mousedown",function(e){

var that = $(this);

console.log(attr.data);

if(attr.data){

$div=$("

");

console.log($div);

$div.css({"width":"100px","height":"100px","border": "2px dotted green","position":"absolute","left":that.offset().left,"top":that.offset().top});

$div.appendTo($("body"));

}

var x=e.clientX-$(this).offset().left;

var y=e.clientY-$(this).offset().top;

//console.log(x+":"+y);

$(document).on("mousemove",function(e){

if(attr.data){

$div.css({"left":e.clientX-x,"top":e.clientY-y});

}else{

that.css({"left":e.clientX-x,"top":e.clientY-y});

}

});

$(document).on("mouseup",function(e){

//console.log($div);

$(document).off();

if(attr.data){

that.css({"left":$div.offset().left,"top":$div.offset().top});

$div.remove();

}

})

})

}

}

});

app.controller('show',['$scope',function(scope$){

}]);

运行效果如下:

希望本文所述对大家AngularJS程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值