最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

angularjs结合html5实现拖拽功能

来源:动视网 责编:小采 时间:2020-11-27 22:12:22
文档

angularjs结合html5实现拖拽功能

angularjs结合html5实现拖拽功能:先来 看看具体效果: 实现方法: 1.下载并引入 angularjs 2.HTML代码: <!DOCTYPE html> <html lang=en ng-app=test> <head> <meta charset=UTF-8> <title>Html5 拖拽
推荐度:
导读angularjs结合html5实现拖拽功能:先来 看看具体效果: 实现方法: 1.下载并引入 angularjs 2.HTML代码: <!DOCTYPE html> <html lang=en ng-app=test> <head> <meta charset=UTF-8> <title>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-stop {
 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-stop">
 <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',
 compile: 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>

希望可以对大家有所帮助哦。好久都没写博客啦,嘻嘻最近变懒了,而且特别懒,哈哈哈哈,天热啦,大家多喝水哦,注意防暑。

文档

angularjs结合html5实现拖拽功能

angularjs结合html5实现拖拽功能:先来 看看具体效果: 实现方法: 1.下载并引入 angularjs 2.HTML代码: <!DOCTYPE html> <html lang=en ng-app=test> <head> <meta charset=UTF-8> <title>Html5 拖拽
推荐度:
标签: 实现 html5 结合
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top