zepto事件

1.zepto的定义

Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api

2.zepto与jq的区别

①相同点:Zepto最初是为移动端开发的库,是jQuery的轻量级替代品,因为它的API和jQuery相似,而文件更小;zepto的API大部分都能和jQuery兼容,所以用起来极其容易

②不同点:

(1).针对移动端程序,Zepto有一些基本的触摸事件可以用来做触摸屏交互(tap事件、swipe事件) (2),Dom操作的区别:添加id时jQuery不会生效而Zepto会生效。

(3).width()和height()的区别:Zepto由盒模型(box-sizing)决定,用.width()返回赋值的width,用.css(‘width‘)返回加border等的结果;jQuery会忽略盒模型,始终返回内容区域的宽/高(不包含padding、border)

(4).offset()的区别:Zepto返回{top,left,width,height};jQuery返回{width,height} 5.Zepto无法获取隐藏元素宽高,jQuery 可以 

3.Zepto移动端的事件、

①touch事件

(1)touchstart:当手指触摸屏幕时触发;即使已经有一个手指放在了屏幕上也会触发。

(2)touchmove:当手指在屏幕上滑动时连续的触发。在这个事件发生期间,调用preventDefault()可阻止滚动。

(3)touchend:当手指从屏幕上移开时触发

4.Touch对象包含下列属性:

clientX:触摸目标在视口中的X坐标。

clientY:触摸目标在视口中的Y坐标。

pageX:触摸目标在页面中的x坐标。

pageY:触摸目标在页面中的y坐标。

screenX:触摸目标在屏幕中的x坐标。

screenY:触摸目标在屏幕中的y坐标。

5.tap事件

tap 事件在用户轻击一个元素时触发。

提示: tap 事件类似于 jQuery click()

方法 singleTap:点击一次

doubleTap:点击两次

longTap:长按

6.swipe( 阻止浏览器默认屏幕滑动事件)

document.addEventListener(‘touchstart‘, function(ev){ ev.preventDefault(); }, {passive:false});

7. 

swipe事件在水平方向上拖动30px以上会触发该事件, (垂直方向小于75px)。 swipeLeft - 当用户从左划过元素超过 30px 时触发。 swipeRight - 当用户从右划过元素超过 30px 时触发。 swipeUp - 当用户从上划过元素超过 30px 时触发。 swipeDown - 当用户从下划过元素超过 30px 时触发

例如:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 6         <title></title>
 7         <style type="text/css">
 8             div{
 9                 width: 100px;height: 100px;background: red;
10             }
11         </style>
12     </head>
13     <body>
14         <div></div>
15     </body>
16     <script src="../js/zepto.min.js"></script>
17
18     </script>
19     <script type="text/javascript">
20         document.addEventListener("touchstart",function(ev){
21             ev.preventDefault()
22         },{passive:false})
23
24         $("div").swipeLeft(function(){
25             console.log("向左")
26         })
27         $("div").swipeRight(function(){
28             console.log("向右")
29         })
30         $("div").swipeUp(function(){
31             console.log("向上")
32         })
33         $("div").swipeDown(function(){
34             console.log("向下")
35         })
36
37     </script>
38 </html>

 

时间: 2024-10-23 05:27:02

zepto事件的相关文章

zepto 事件分析2($.on)

这里主要分析zepto事件中的$.on函数,先看一下该函数的代码 $.fn.on = function(event, selector, data, callback, one){ var autoRemove, delegator, $this = this if (event && !isString(event)) { //多个事件下的处理 $.each(event, function(type, fn){ $this.on(type, selector, data, fn, one

zepto 事件分析1($.Event)

先看一下zepto事件的函数,在这里,zepto是把zepto对象作为一个立即执行函数的参数传进去的. (function($){ ... ... })(Zepto) 在zepto事件函数中,主要为$.Event,$.on,$.off等,分析事件代码,分析这三个就够了,首先分析$.Event函数,在分析该函数之前,从接口文档中大概知道这是一个创建事件的方法,可以先看一下原生的javascript代码是怎么生成一个事件的. var event = new Event('event'); //老式创

移动端jq及zepto事件绑定

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545; min-height: 14.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; f

迷你版jQuery——zepto核心源码分析

前言 zepto号称迷你版jQuery,并且成为移动端dom操作库的首选 事实上zepto很多时候只是借用了jQuery的名气,保持了与其基本一致的API,其内部实现早已面目全非! 艾伦分析了jQuery,小钗暂时没有那个本事分析jQuery,这里就恬不知耻说说自己对zepto的源码理解,希望对各位有用 首先zepto的出现其实还是很讨巧的,他看见了巨人jQuery在移动浪潮来临时的转身慢.牵挂多的问题 马上搞出了一套轻量级类jQuery框架代码,核心代码1000行不到,快速占领了移动端的市场,

【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)--转

前言 javascript事件基础 事件捕获/冒泡 事件对象 事件模拟 移动端响应速度 PC与移动端鼠标事件差异 touch与click响应速度问题 结论 zepto事件机制 注册/注销事件 zepto模拟tap事件 tap事件的问题一览 点透问题 fastclick思想提升点击响应 实现原理 鬼点击 ios与android鼠标事件差异 事件捕获解决鬼点击 结语 前言 这篇博客有点长,如果你是高手请您读一读,能对其中的一些误点提出来,以免我误人子弟,并且帮助我提高 如果你是javascript菜

zepto学习(三)之详解

zepto Zepto就是jQuery的移动端版本, 可以看做是一个轻量级的jQuery github地址: https://github.com/madrobby/zepto 官方地址: http://zeptojs.com/ 中文版地址: http://www.css88.com/doc/zeptojs_api/ 注意点: Zepto的设计目的是提供 jQuery 类似的API,但并不是100%覆盖 jQuery jQuery的底层是通过DOM来实现效果的, zepto.js 是用css3

07.移动端类库

iScroll.js 一个可以实现客户端原生滚动效果的类库. 1.下载iScroll 2.build目录下提供了不同版本的iScroll,可根据情况选择使用 3.html要求有3层结构如下图 4.获取wrapper这个最外层结点,然后实例化,如下图 swipe.js 1.下载swipe.js 2.html结构要求有三层结构,如下图 3.需要一些基础CSS样式,这些样式要对应到html结构上,如下图 4.获取swipe元素,然后实例化,如下图 swiper.js 1.下载swiper.js, 2.

zepto源码分析------事件篇

说说zepto.js的源码.今天先分析事件,我比较懒,前面的基础函数就不分析了.直接按模块写就可以了. 在分析之前先简单的说一下zepto的大致结构 var Zepto = (function{})() // 事件模块 (function($){})(zepto) //ajax模块 (function($){})(zepto) // form事件 (function($){})(zepto) 大致结构就是这样了;其实里面的函数也挺简单的,我们都知道zepto这个框架是专为移动端开发,可谓是短小精

zepto的tap事件的点透问题的几种解决方案

zepto的tap事件的点透问题的几种解决方案 zepto的tap事件点透问题分析: 1.“点透”是什么 你可能碰到过在列表页面上创建一个弹出层,弹出层有个关闭的按钮,你点了这个按钮关闭弹出层后后,这个按钮正下方的内容也会执行点击事件(或打开链接).这个被定义为这是一个“点透”现象. 在前面的项目中遇到了如下图的问题:在点击弹出来的选择组件的右上角完成后会让完成后面的input输入框聚焦,弹出输入键盘,也就是点透了 2.为什么会出现点透呢?这个需要从zepto(或者jqm)源码里面看关于tap的