zepto 入门
- 2017-03-17
- 文章来源:http://www.cnblogs.com/daysme
zepto 简介
- jq虽然有一些衍生的插件可用在移动端上,但它有点大。
- click 有,但有问题
- onmouseover 无
onmousemoser 无
touch
tap 像 pc 端的 click
300ms 用来判断点击有没有后续操作。
为了确认用户是单击还是双击。
由 iphone 也采用, android 后续采用。
移动端的所有 click 都要慢 300ms,
在移动端没有多少兼容问题,但 jq 有不少代码都是处理兼容的。
zepto 没有太多这些兼容代码,文件比较小。
zepto 本来的思想是让大家需要的功能自己加上去。所以核心代码只有7个模块。
- 然后也并不是谁都会封装的,封装也使 zepto 发展比较慢。
所以初学前期不建议去官网下载,而使用别人已经封装过其他功能的。
如果后期自己有了一些使用经验,感觉不够用时,再去 githup 下载源码,封装自己的版本。
实例
点击 tap
```
$(function(){
$(document).tap(function(){
alert(1);
})
})
```
触摸,按上去但没有松开手 touchstart
```
$(function(){
$(document).on('touchstart',function(){
console.log(1);
})
})
```
- 滑动,按住并移动 touchmove
离开屏幕,有时也用来代替点击 touchend
系统取消 touch 事件时。 touchcancel
- 安卓移动结束时触发 touchcancel 事件 ,
- 苹果正常触发 touchend 。
- 类似的兼容有表单输入时的输入法调用问题。
长按,750ms 时。 longTap
- 单击,和 tap 差不多。 singleTap
双击。 doubleTap
与 jquery 不同的, event 事件。在电脑上只有鼠标,在手机上有多个手指。
屏幕上的所有触点列表 e.touches
$(function(){ $(document).on('touchstart',function(e){ console.log(e.touches); }) })
触点一按下时的坐标 e.touches[0].clientX
```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.touches[0].clientX);
})
})
```
- 位于 dom 上触点列表 e.targetTouches
涉及当前事件的触点列表 e.changedTouches
触点一离开时的坐标是多少?
- 因为手机和电脑不同,手机会有多个触点情况。所以不能直接通过 e.clientX 方式获取坐标。
- 移动端事件 event 里存在一个触点集合 touches 数组,通过获取数组的第一个元素来获取坐标位置,
- 也就是第一个触点的坐标。 e.touches[0].clientX e.touches[0].clientY 。
但是 touchend 事件代表触点离开屏幕,不存在触碰这一说。所以此时 e.touches 的长度是 0 。
- 也就是说不能再通过 touchend 的处理函数中获取坐标了。
- 需要通过 changedTouches 集合。
触点一离开时的坐标 e.changedTouches["0"].clientX
```
$(function(){
$(document).on('touchend',function(e){
console.log(e.touches); //长度为 0
console.log(e.changedTouches["0"].clientX);
})
})
```
如果需要获取 tap 的坐标,请使用 touchstart 。
```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.changedTouches["0"].clientX);
})
})
```
从元素滑动 swipe
```
$(function(){
$(document).on('swipe',function(e){
console.log(1);
})
})
```
滑动方向, swipeUp/swipeRight/swipeDown/swipeLeft 如何斜着滑时,看哪边滑得多。
```
$(function(){
$(document).on('swipeUp',function(e){
console.log('swipeUp');
})
$(document).on('swipeRight',function(e){
console.log('swipeRight');
})
$(document).on('swipeDown',function(e){
console.log('swipeDown');
})
$(document).on('swipeLeft',function(e){
console.log('swipeLeft');
})
})
```
MD:
- 2017-03-17
- 文章来源:http://www.cnblogs.com/daysme
## zepto 简介 - jq虽然有一些衍生的插件可用在移动端上,但它有点大。
- click 有,但有问题
- onmouseover 无
- onmousemoser 无 - touch
- tap 像 pc 端的 click - 300ms 用来判断点击有没有后续操作。
- 为了确认用户是单击还是双击。 - 由 iphone 也采用, android 后续采用。
- 移动端的所有 click 都要慢 300ms, - 在移动端没有多少兼容问题,但 jq 有不少代码都是处理兼容的。
- zepto 没有太多这些兼容代码,文件比较小。 - zepto 本来的思想是让大家需要的功能自己加上去。所以核心代码只有7个模块。
- 然后也并不是谁都会封装的,封装也使 zepto 发展比较慢。
- 所以初学前期不建议去官网下载,而使用别人已经封装过其他功能的。 - 如果后期自己有了一些使用经验,感觉不够用时,再去 githup 下载源码,封装自己的版本。 ## 实例 **点击 tap** ```
$(function(){
$(document).tap(function(){
alert(1);
})
})
``` 触摸,按上去但没有松开手 touchstart ```
$(function(){
$(document).on('touchstart',function(){
console.log(1);
})
})
``` - 滑动,按住并移动 touchmove
- 离开屏幕,有时也用来代替点击 touchend - 系统取消 touch 事件时。 touchcancel
- 安卓移动结束时触发 touchcancel 事件 ,
- 苹果正常触发 touchend 。
- 类似的兼容有表单输入时的输入法调用问题。 - 长按,750ms 时。 longTap
- 单击,和 tap 差不多。 singleTap
- 双击。 doubleTap - 与 jquery 不同的, event 事件。在电脑上只有鼠标,在手机上有多个手指。 - 屏幕上的所有触点列表 e.touches ```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.touches);
})
})
``` 触点一按下时的坐标 e.touches[0].clientX ```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.touches[0].clientX);
})
})
``` - 位于 dom 上触点列表 e.targetTouches
- 涉及当前事件的触点列表 e.changedTouches - 触点一离开时的坐标是多少?
- 因为手机和电脑不同,手机会有多个触点情况。所以不能直接通过 e.clientX 方式获取坐标。
- 移动端事件 event 里存在一个触点集合 touches 数组,通过获取数组的第一个元素来获取坐标位置,
- 也就是第一个触点的坐标。 e.touches[0].clientX e.touches[0].clientY 。 - 但是 touchend 事件代表触点离开屏幕,不存在触碰这一说。所以此时 e.touches 的长度是 0 。
- 也就是说不能再通过 touchend 的处理函数中获取坐标了。
- 需要通过 changedTouches 集合。 触点一离开时的坐标 e.changedTouches["0"].clientX ```
$(function(){
$(document).on('touchend',function(e){
console.log(e.touches); //长度为 0
console.log(e.changedTouches["0"].clientX);
})
})
``` 如果需要获取 tap 的坐标,请使用 touchstart 。 ```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.changedTouches["0"].clientX);
})
})
``` 从元素滑动 swipe ```
$(function(){
$(document).on('swipe',function(e){
console.log(1);
})
})
``` 滑动方向, swipeUp/swipeRight/swipeDown/swipeLeft 如何斜着滑时,看哪边滑得多。 ```
$(function(){
$(document).on('swipeUp',function(e){
console.log('swipeUp');
})
$(document).on('swipeRight',function(e){
console.log('swipeRight');
})
$(document).on('swipeDown',function(e){
console.log('swipeDown');
})
$(document).on('swipeLeft',function(e){
console.log('swipeLeft');
})
})
```
zepto 入门的更多相关文章
- Zepto入门
Zepto 的介绍 #什么是 Zepto zepto是轻量级的JavaScript库,专门为移动端定制的框架. 与jquery有着类似的API,俗称:会jquery就会用zepto #zepto的特点 ...
- http://www.imooc.com/video/4767 zepto教学视频笔记
一.介绍js移动端框架:zepto.js与jquery mobile 对比:zepto特点 1.与jquery相似度95%,会jquery基本会zepto: 2.API少,轻量级框架 3.移动端无缝接 ...
- 支持触屏的zepto轮播图插件
占个座,有时间再写,呵呵 关于zepto.js,官方标准版是不支持touch的.可以去github下载压缩包,里面有所有支持的模块.我用的zepto.js,是经过打包的,包括polyfill zept ...
- Zepto.js入门介绍
GitHub Zepto Zepto的一些可选功能是专门针对移动端浏览器的:因为它的最初目标在移动端提供一个精简的类似jquery的js库. Zepto不支持旧版本的Internet Explorer ...
- 11-移动端开发教程-zepto.js入门教程
Zepto.js是一个轻量级的针对现代浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 1. Why Zepto.js? API类 ...
- zepto快速入门教程
* zepto* 特点:1.体积8kb2.针对移动端的框架3.语法同jquery大部分一样,都是$为核心函数4.目前功能完善的框架体积最小的左右* 同jquery相似的语法核心:$--作为函数使用参数 ...
- Javascript快速入门(下篇)
Javascript, cheer up. Ajax:其通过在Web页面与服务器之间建立一个额外的处理层,这个处理层就被称为Ajax引擎,它解释来自用户的请求,在后台以异步的方式处理服务器通信,其结构 ...
- Backbone入门
Backbone入门讲解 Backbone是一个实现了web前端mvc模式的js框架. 一种解决问题的通用方法,我们叫做模式. 设计模式:工厂模式,适配器模式,观察者模式等,推荐js设计模式这本书.设 ...
- 学习web前端怎样入门?初学者赶紧看过来!
web前端怎么样才能入门,首先我们要从什么是初级web前端工程师说起: 按照我的想法,我把前端工程师分为了入门.初级.中级.高级这四个级别, 入门级别指的是了解什么是前端(前端到底是什么其实很多人还是 ...
随机推荐
- USMART 组件移植到STM32
USMART是由ALIENTEK开发的一个串口调试助手组件,通过它可以通过串口调试助手,调用程序里面的任何函数并执行,单个函数最多支持10个输入参数,并支持函数返回值显示. USMART支持的参数类型 ...
- 20165215 2017-2018-2《Java程序设计》第一周学习总结
20165215 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 跟随网课学习了<Java2 实用教程>的第一章,进行了基础的编译练习 在Ubun ...
- HADOOP nutch java mysql
下载Hadoop安装包 wget http://apache.fayea.com/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz java安装 wg ...
- SSM的理解
SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架.其中spring是一个轻量 ...
- 使用BenchmarkSQL测试PostgreSQL
BenchmarkSQL是一款经典的开源数据库测试工具,内嵌了TPCC测试脚本,可以对EnterpriseDB.PostgreSQL.MySQL.Oracle以及SQL Server等数据库直接进行测 ...
- Navicat连接MySQL8.0亲测有效
今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 试了很多种方法,终于找到一种可以实现的: 更 ...
- SQL注入(dvwa环境)
首先登录DVWA主页: 1.修改安全级别为LOW级(第一次玩别打脸),如图中DVWA Security页面中. 2.进入SQL Injection页面,出错了.(心里想着这DVWA是官网下的不至于玩不 ...
- vue中的指令v-model
Vue的指令:其实就是单个JavaScript表达式,一般来说是带有v-前缀:都有着对应的官网介绍:https://cn.vuejs.org/v2/guide/forms.html v-model:数 ...
- python之字符编码(二)
一.字符编码的发展史 阶段一:现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII ASCII:一个Bytes代表一个字符(英文字符/键盘上的所有其他字符),1Bytes=8bit,8bit可以 ...
- Zookeeper注册中心的搭建
一.Zookeeper的介绍 Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用 ...