国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

angularjs結合html5實現拖拽功能

2019-11-19 13:36:57
字體:
來源:轉載
供稿:網友

先來 看看具體效果:

實現方法:

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>

希望可以對大家有所幫助哦。好久都沒寫博客啦,嘻嘻最近變懶了,而且特別懶,哈哈哈哈,天熱啦,大家多喝水哦,注意防暑。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳阳市| 加查县| 珲春市| 北流市| 梁平县| 西乌珠穆沁旗| 晋中市| 嘉善县| 仪陇县| 泸西县| 舞钢市| 抚顺市| 天祝| 寻甸| 敖汉旗| 枣庄市| 伊宁县| 贡嘎县| 青浦区| 潼关县| 玉林市| 开平市| 大田县| 吉隆县| 安西县| 巴彦淖尔市| 肇庆市| 尤溪县| 青海省| 峡江县| 镇沅| 公安县| 五大连池市| 武定县| 青海省| 彭山县| 宁德市| 宝应县| 石门县| 乃东县| 沈丘县|