这两天学习了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 + “?”
});
};
});
双击 : on-double-tap
在屏幕上快速敲击两次,将触发on-double-tap事件:
可以在任何元素上使用这个指令挂接事件监听函数:
<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拖拽事件:
根据运动方向的不同,可以细分为以下几种事件:
可以在任意元素上使用这些指令挂接对应的事件监听函数:
<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划动事件:
根据划动方向的不同,可细分为以下指令:
可以在任何元素上使用这些指令挂接事件监听函数:
<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));
});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# AngularJS手势事件
# ionic
# 手势事件
# 拖动
# 划动
# 挂接
# 屏幕上
# 使用这个
# 按下
# 的是
# 拖拽
# 鼠标键
# 你可以
# 鼠标
# 两次
# 很重要
# 几种
# 不超过
# 可以使用
# 双击
# 可供
# 这两天
# 绑定
相关文章:
北京的网站制作公司有哪些,哪个视频网站最好?
视频网站制作教程,怎么样制作优酷网的小视频?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
建站之星logo尺寸如何设置最合适?
如何选择网络建站服务器?高效建站必看指南
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
免费ppt制作网站,有没有值得推荐的免费PPT网站?
已有域名和空间如何搭建网站?
如何在Windows环境下新建FTP站点并设置权限?
广东企业建站网站优化与SEO营销核心策略指南
打鱼网站制作软件,波克捕鱼官方号怎么注册?
网站制作模板下载什么软件,ppt模板免费下载网站?
详解jQuery停止动画——stop()方法的使用
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
高端网站建设与定制开发一站式解决方案 中企动力
网站网页制作专业公司,怎样制作自己的网页?
建站之星安装提示数据库无法连接如何解决?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
如何在IIS7中新建站点?详细步骤解析
javascript基本数据类型及类型检测常用方法小结
济南网站建设制作公司,室内设计网站一般都有哪些功能?
大型企业网站制作流程,做网站需要注册公司吗?
网站制作网站,深圳做网站哪家比较好?
建站之星代理商如何保障技术支持与售后服务?
一键网站制作软件,义乌购一件代发流程?
如何在建站之星绑定自定义域名?
建站主机默认首页配置指南:核心功能与访问路径优化
长沙企业网站制作哪家好,长沙水业集团官方网站?
广州商城建站系统开发成本与周期如何控制?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
宁波自助建站系统如何快速打造专业企业网站?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
常州企业网站制作公司,全国继续教育网怎么登录?
济南专业网站制作公司,济南信息工程学校怎么样?
如何在IIS中新建站点并配置端口与物理路径?
韩国服务器如何优化跨境访问实现高效连接?
如何在香港服务器上快速搭建免备案网站?
网站图片在线制作软件,怎么在图片上做链接?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
如何做网站制作流程,*游戏网站怎么搭建?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
建站之星后台密码遗忘如何找回?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何在橙子建站中快速调整背景颜色?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
C++时间戳转换成日期时间的步骤和示例代码
*请认真填写需求信息,我们会在24小时内与您取得联系。