这两天学习了AngularJS手势事件感觉这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记。
长按 : on-hold
在屏幕同一位置按住超过500ms,将触发on-hold事件:
你可以在任何元素上使用这个指令挂接监听函数:
<any on-hold=“…”>…</any>
示例代码:
<body ng-controller=”ezCtrl”> <ion-header-bar class=”bar-positive” on-hold=”show_delete();”> <h1 class=”title”>on-hold</h1> </ion-header-bar> <ion-content> <ion-list ng-repeat=”item in items”> <ion-item> {{item}} <ion-delete-button class=”ion-minus-circled”></ion-delete-button> <ion-reorder-button class=”ion-navicon”></ion-reorder-button> </ion-item> </ion-list> </ion-content> <ion-footer-bar class=”bar-positive”></ion-footer-bar> </body>
js:
angular.module(“ezApp”,[“ionic”]) .controller(“ezCtrl”,function($scope, $ionicListDelegate) { $scope.items=[“China”,”Japan”,”India”,”Russian”]; $scope.show_delete = function(){ $ionicListDelegate.showDelete(true); }; });
敲击 : on-tap
在屏幕上快速点击一次(停留时间不超过250ms),将触发on-tap事件:
可以在任何元素上使用这个指令挂接事件监听函数:
<any on-tap=“…”>…</any>
示例代码:
<head> <meta name=”viewport” content=”initial-scale=1,maximum-scale=1,user-scalable=no,width=device-width,height=device-height”> <script src=”ionic.bundle.min.js”></script> <link rel=”stylesheet” type=”text/css” href=”ionic.min.css”> </head> <body ng-controller=”ezCtrl”> <ion-header-bar class=”bar-positive”> <h1 class=”title”>on-tap</h1> </ion-header-bar> <ion-content> <ion-list ng-repeat=”item in items”> <ion-item on-tap=”show(item);”> {{item}} <ion-reorder-button class=”ion-navicon”></ion-reorder-button> </ion-item> </ion-list> </ion-content> </body>
js:
angular.module(“ezApp”,[“ionic”]) .controller(“ezCtrl”,function($scope, $ionicPopup) { $scope.items=[“England”,”Japan”,”India”,”Russian”]; $scope.show = function(item){ $ionicPopup.alert({ title : “警告!”, template : “为什么要敲 “+ item + “"htmlcode"><any on-double-tap=“…”>…</any>示例代码:
<body ng-controller=”ezCtrl”> <ion-header-bar class=”bar-positive” on-double-tap=”title='I am double tapped!'”> <h1 class=”title”>{{title}}</h1> </ion-header-bar> <ion-content> <p ng-include=”‘txt/xiyouji.txt'”></p> </ion-content> </body>js:
angular.module(“ezApp”,[“ionic”]) .controller(“ezCtrl”,function($scope) { $scope.title = “on-double-tap”; });按下/松开 on-touch/on-release
在屏幕上按下手指或鼠标键时,会立即触发on-touch事件;当手指抬起或鼠标键松开时, 会立即触发on-release事件。
可以在任何元素上挂接响应的事件监听函数:
<any on-touch=“…” on-release=“…”>…</any>示例代码:
<body ng-controller=”ezCtrl”> <ion-header-bar class=”bar-positive” ng-class=”[style]” on-touch=”style='bar-assertive'” on-release=”style='bar-positive'”> <h1 class=”title”>on-touche/on-release</h1> </ion-header-bar> <ion-content> <img src=”img/0021.png”> </ion-content> </body>js:
angular.module(“ezApp”,[“ionic”]) .controller(“ezCtrl”,function($scope) { });拖拽 : on-drag
在屏幕上按住并移动时,触发on-drag拖拽事件:
根据运动方向的不同,可以细分为以下几种事件:
- on-drag – 向所有方向拖动时都触发此事件
- on-drag-up – 向上拖动时触发此事件
- on-drag-down – 向下拖动时触发此事件
- on-drag-left – 向左拖动时触发此事件
- on-drag-right – 向右拖动时触发此事件
可以在任意元素上使用这些指令挂接对应的事件监听函数:
<any on-drag=“…”>…</any>
示例代码:
<body ng-controller=”ezCtrl”> <ion-header-bar class=”bar-positive”> <h1 class=”title”>on-drag</h1> </ion-header-bar> <div class=”scroll-content has-header padding”> <img src=”img/baymax.png” on-touch=”onTouch($event)” on-drag=”onDrag($event);”> </div> </body>
js:
angular.module(“ezApp”,[“ionic”]) .controller(“ezCtrl”,function($scope) { var ox,oy; $scope.onTouch = function($event){ ox = $event.target.offsetLeft; oy = $event.target.offsetTop; }; $scope.onDrag = function($event){ var el = $event.target, dx = $event.gesture.deltaX, dy = $event.gesture.deltaY; el.style.left = ox + dx + “px”; el.style.top = oy + dy + “px”; }; });
划动 : on-swipe
在屏幕上按住并快速拖动时,将触发on-swipe划动事件:
根据划动方向的不同,可细分为以下指令:
- on-swipe – 向任何方向的划动都触发事件
- on-swipe-up – 向上划动时触发事件
- on-swipe-down – 向下划动时触发事件
- on-swipe-left – 向左划动时触发事件
- on-swipe-right – 向右划动时触发事件
可以在任何元素上使用这些指令挂接事件监听函数:
<any on-swipe=“…”>…</any>
示例代码:
<body ng-controller=”ezCtrl”> <div class=”scroll-content padding” on-swipe-up=”onSwipeUp()” on-swipe-down=”onSwipeDown()” on-swipe-left=”onSwipeLeft()” on-swipe-right=”onSwipeRight()”> <p class=”padding”>按住鼠标快速划!</p> <i class=”icon {{icon}}”></i> </div> </body>
js:
angular.module(“ezApp”,[“ionic”]) .controller(“ezCtrl”,function($scope){ $scope.icon=”ion-arrow-expand”; $scope.onSwipeUp = function(){ $scope.icon=”ion-arrow-up-a”; }; $scope.onSwipeDown = function(){ $scope.icon=”ion-arrow-down-a”; }; $scope.onSwipeLeft = function(){ $scope.icon=”ion-arrow-left-a”; }; $scope.onSwipeRight = function(){ $scope.icon=”ion-arrow-right-a”; }; });
脚本接口 : $ionicGesture
除了使用之前介绍的特定指令实现手势事件的监听,也可以使用$ionicGesture服务 注册/解除手势事件监听:
on(eventType,callback,$element,options) – 注册手势事件监听函数
参数eventType是支持的事件类型,参看下面介绍;参数callback指定监听函数; 参数$element是要绑定事件的jqLite元素。
on()方法返回的是一个ionic.gesture对象,可供解除监听用。
off(gesture,eventType,callback) – 解除手势事件监听函数
参数gesture是on()方法返回的结果对象,参数callback是要移除的监听函数。
$ionicGesture服务支持的事件类型有:
hold, tap, doubletap, drag, dragstart, dragend, dragup, dragdown, dragleft, dragright, swipe, swipeup, swipedown, swipeleft, swiperight, transform, transformstart, transformend, rotate, pinch, pinchin, pinchout, touch, release
示例代码:
<body ng-controller=”ezCtrl”> <ion-header-bar class=”bar-positive”> <h1 class=”title”>$ionicGesture</h1> </ion-header-bar> <ion-content class=”padding”> <button class=”button” id=”test”>test</button> </ion-content> </body>
js:
angular.module(“ezApp”,[“ionic”]) .controller(“ezCtrl”,function($scope,$ionicGesture,$ionicPopup) { var el = document.querySelector(“#test”); $ionicGesture.on(“tap”,function(){ $ionicPopup.alert({ title : “提醒”, template : “这个监听是用$ionicGesture服务注册的!” }) },angular.element(el)); });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】
- 谭咏麟.2022-倾·听【环球】【WAV+CUE】
- 4complete《丛生》[320K/MP3][85.26MB]
- 4complete《丛生》[FLAC/分轨][218.01MB]
- 羽泉《给未来的你&天黑天亮》[WAV+CUE][968M]
- 庄心妍《我也许在等候》[低速原抓WAV+CUE]
- 王雅洁《小调歌后2》[原抓WAV+CUE]
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】