angularjs结合html5实现拖拽功能
网络编程 2021-07-04 16:46www.168986.cn编程入门
本篇文章给大家分享了angularjs结合html5实现拖拽功能的方法以及代码实例,有兴趣的朋友参考下。
先来 看看具体效果:
实现方法:
1.下载并引入 angularjs
2.HTML代码:
<!DOCTYPE html> <html lang="en" ng-app="test"> <head> <meta charset="UTF-8"> <title>Html5 拖拽行为和AngularJs的结合</title> <meta charset="utf-8"/> <script type="text/javascript" src="js/angular.js"></script> <style> .to-drag, .drag-s { display: inline-block; } </style> </head> <body ng-controller="main"> <div class="to-drag"> <ul> <li ng-repeat="item in list.data" ng-include="'./lefttree.html'"></li> </ul> </div> <div class="drag-s"> <ul> <li ng-repeat="item in rightList.data" ng-include="'./righttree.html'"></li> </ul> </div> </body> </html>
3.js
<script type="text/javascript"> let mod = angular.module("test", []); mod.controller("main", ['$scope', function ($scope) { $scope.list = { data: [{ id: 1, name: '22', child: [{ id: '1-1', name: '1-1_name-左' }, { id: '1-2', name: '1-2_name-左' }] }], dragstart: function (item) { $scope.clientInfo = item; } } $scope.rightList = { data: [{ id: 1, name: '停止拖动', child: [{ id: '1-1', name: '1-1_name-右' }, { id: '1-2', name: '1-2_name-右' }] }], drop: function (event, item) { event.preventDefault(); console.log("被拖动的元素:->", $scope.clientInfo); console.log("当前节点:->", item); //调用后端添加接口,实现真实的添加。 }, dragover: function (event) { event.preventDefault(); } } }]); var convertFirstUpperCase = function (str) { return str.replace(/(\w)/, function (s) { return s.toUpperCase(); }); }; rubyDragEventDirectives = {}; angular.forEach("dragstart drag dragenter dragover drop dragleave dragend".split(' '), function (eventName) { var rubyEventName = 'ruby' + convertFirstUpperCase(eventName); rubyDragEventDirectives[rubyEventName] = ['$parse', function ($parse) { //$parse 语句解析器 return { restrict: 'A', pile: function (ele, attr) { var fn = $parse(attr[rubyEventName]); return function rubyEventHandler(scope, ele) { ele[0].addEventListener(eventName, function (event) { if (eventName == 'dragover' || eventName == 'drop') { event.preventDefault(); } var callback = function () { fn(scope, {event: event}); }; callback(); }); } } } }] }); mod.directive(rubyDragEventDirectives); </script>
希望可以对大家有所帮助哦。好久都没写博客啦,嘻嘻最近变懒了,而且特别懒,哈哈哈哈,天热啦,大家多喝水哦,注意防暑。
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程