学习zepto.js(对象方法)[1] zepto也是使用的链式操作,链式操作:函数返回调用函数的对象....但并不是所有的对象方法都可以进行链式操作,举几个例子:.size(),.html()|.text()//不传参数的情况下; 若非特殊说明,下边介绍的方法都会返回zepto对象; add(): 支持一到二个参数...add函数本身无任何亮点- -,将两个参数原封不动的传入$()然后返回一个Zepto对象,执行concat函数,该函数会将所有参数添加至调用函数对象的末尾, toArray方法会调用get方法,当get...方法执行时而没有传入参数,会将该对象所有的匹配元素以数组的形式返回; uniq方法是一个数组去重的方法,返回的还是一个数组,然后回到add方法再次通过$()构造一个zepto对象并返回; addClass...通过each方法循环遍历对象,each方法会返回一个zepto对象.首先会判断元素是否存在className属性, 通过className方法获取到当前元素的所有className信息的字符串; ?
学习zepto.js(对象方法)[2] 今天来说下zepto那一套dom操作方法, ['prepend', 'append', 'prependTo', 'appendTo',...这些方法的参数可以是一个dom节点,也可是是一个html片段,或者Zepto对象; prepend(): 将参数插入对象内部的头部; ? append(): 将参数插入对象内部的尾部; ?...上边那个数组是储存的几个操作的名称,下边的forEach循环是在zepto自执行函数中执行的,就是说,在构件zepto原型的是否就创建了这几个方法; forEach方法回调返回的参数,第一个是值,第二个是值的下标
学习zepto.js(原型方法)[1] 新的一周,新的开始,今天来学习一下zepto里边的原型方法,就是通过$.进行调用的方法,也是可以通过$.fn进行扩展的方法: $.camelCase...(本人发现zepto中的原型方法都是通过将匿名函数赋值给变量的方式来进行声明的,而直接使用function声明的函数在外部是获取不到的)解释的不详细,是因为原型方法都有一个原型的引用,而那些普通函数没有做这个引用...,所以说,使用$.extend来使$.fn继承某些方法,进行扩展插件. $.fn.alert = function () { alert(this.html());//this指向调用该方法的Zepto...,如果有多个,须结合$.extend使用*/ $.extend($.fn, { alert: function () { alert(this.html());//this指向调用该方法的Zepto...对象 }, confirm : function () { confirm(this.html());//this指向调用该方法的Zepto对象 } }); PS:为了配合链式操作,
学习zepto.js(对象方法)[4] 今天说说那一套获取元素集合的一些方法: ["children", "clone", "closest", "contents", "empty...如果不填则是所有子节点,否则为匹配的所有子节点; $("#demo").children();//-->所有的子节点 $("#demo").children("li");//-->所有的li子节点 返回的是一个zepto...如果不是一个字符串,就判断是否是一个类数组,并且对象的item是一个方法,(是的,变相的判断为一个zepto对象.) 其余的情况,直接通过参数构建一个zepto对象....以上操作均为给excludes变量赋值; 在最后,通过循环对象.将对象中不存在于excludes变量中的所有元素取出.并构件为一个zepto对象....可以传入一个zepto对象,或者一个dom标签数组.一个html片段.等等…… 当然最后返回的对象决不会存在于not的参数中. //indexOf就是数组的原生方法
学习zepto.js(对象方法)[5] clone: 该方法不接收任何参数,会返回对象中的所有元素集合,但不会对象绑定的事件. var $temp =$("div").clone...> hello world js.../zepto.js"> body *{ color: #000; } zepto对象; contents: contents用来获取zepto所有对象的子节点(包括文本,注释),或者zepto某对象为一个iframe时,则获取该iframe的document...首先判断是否传入选择器,如果没有则直接返回一个空的zepto对象; 如果选择器为一个对象,则将对象转换为zepto对象,然后通过filter筛选出一些匹配的节点,并存入result集合; 如果调用find
学习zepto.js(原型方法)[2] 接着昨天的来,继续说原型方法,昨天的传送阵(昨天出了点小意外,博文经过WP手机的UC浏览器进行编辑后标签就露出来了- -,现已修复);..."aaa", ["aaa", "bbb", "ccc", "ccc", "aaa"], 3) // -->4 inArray方法也是直接调用了Array的idnexOf方法,这些都是ES5的新方法,在zepto...函数通过一个三元运算符来判断是否为空,然后调用对象的toString方法,返回一个类似[object Array]这种格式的字符串, 再放入一个Mapping中,就是class2type(class to type),在zepto...isPlainObject({}); // ..> true $.isPlainObject(new Object()); // --> true $.isPlainObject(1); // --> false zepto...今天先说到了这里,zepto里边的原型方法出了ajax模块的就都已经说完了- -,读源码真的是最快的学习方式.
学习zepto.js(Hello World) Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api。...昨天听说了zepto.js,正好最近也比较闲,所以就学习一下这个著名DOM操作库,由于本人刚接触这个,但又不想单纯的说如何使用,所以本人会按照API顺序来说明方法如何使用并试着将对于源码的理解写上来;...$(): 与jQuery的$()几乎一样,但zepto的选择器是直接使用的原生querySelectorAll(),所以,一些jQuery自定义的选择器是不支持的,但可以添加selector.js...最后返回的一个变量经过Zepto的构造函数摇身一变为Zepto对象。...接下来说一下$构造器中用到的一些其他函数; 像通过zepto对象调用的方法,都是可以在其他地方通过$(Zepto).zepto[方法名]调用的, 如 $.zepto.qsa(); 而通过$.fn
学习zepto.js(对象方法)[6] first: 获取当前对象集合中的第一个dom元素。...$("div").first();// 返回第一个div对象(zepto对象) //相当于 $("div").eq(0); 与之对应的是last last: 获取当前对象集合中的最后一个dom元素。...$("div").last();// 返回最后一个div对象(zepto对象) //相当于 $("div").eq(-1); 两方法不接收任何参数。 ?...个人认为调用isObject方法没什么用,因为zepto对象集合里存放的都是dom元素。//也许是我无知吧- - 被大神点醒了。这样做也许是为了这种场景 ?...(dom对象,不是zepto对象) $("div").get(); //所有div对象组成的一个数组 该方法与eq方法的区别在于,eq返回的是zepto对象,而get返回的是dom对象,$()
学习zepto.js(对象方法)[3] 继续说zepto里attributes的相关操作. attr,removeAttr,prop这三个方法....string字符串 $("").attr("id"); //--> "special" 注意:只能返回对象中第一个节点的属性值 set: 返回值为一个zepto...>").attr("id","special"); //--> [] 第二个参数也可以传入一个function,有两个参数可以使用 1:index,zepto...那是zepto.js中文api中所说的.本人认为,在判断有关交互的属性时,应优先使用prop,比如checked和selected; ? ? 之所以为出现差异,是因为两者底层实现的区别. ?...一个来自prototype.js大表哥中的方法; 传入一个属性名,将调用者集合中所有的该属性的值作为一个数组返回; 其余的没什么了. 如果有什么疑惑的地方还请留言问我.大家共同学习
这篇文章主要想说一下zepto中事件模块(event.js)的trigger实现原理。...原文地址 仓库地址 event.js模块 zepto中由许多小的模块组合合成,基础的zepto.js模块,event.js事件处理模块,ajax.js请求处理模块等等。...其中event.js事件处理模块的核心完成了zepto中事件绑定on,移除off还有手动触发trigger等功能。我们简单回顾下如何使用zepto的这三大功能。...为了直接切入不易理解,我们先来看看zepto中是如何给基础的zepto.js模块添加功能的 首先看看zepto.js模块 var Zepto = (function () { // xxxx var...而$.fn就是其原型 如何给zepto.js模块增添功能 zepto.js模块只有一些基础的功能,比如给dom添加事件的功能就没有,怎么添加呢?
这篇文章主要想说一下zepto中事件模块(event.js)的trigger实现原理。 原文地址 仓库地址 ?...event.js模块 zepto中由许多小的模块组合合成,基础的zepto.js模块,event.js事件处理模块,ajax.js请求处理模块等等。...其中event.js事件处理模块的核心完成了zepto中事件绑定on,移除off还有手动触发trigger等功能。我们简单回顾下如何使用zepto的这三大功能。...为了直接切入不易理解,我们先来看看zepto中是如何给基础的zepto.js模块添加功能的 首先看看zepto.js模块 var Zepto = (function () { // xxxx var...而$.fn就是其原型 如何给zepto.js模块增添功能 zepto.js模块只有一些基础的功能,比如给dom添加事件的功能就没有,怎么添加呢?
var Zepto = (function(){ var zepto = {},$; zepto.Z = function(dom, selector) { return...return zepto.Z(dom, selector) } $ = function(selector,context){ return zepto.init...zepto.Z.prototype =Z.prototype= $.fn return $ //返回$,赋值给Zepto })() window.Zepto = Zepto /.../当$未被占用时就把Zepto赋值给$ window.$ === undefined && (window.$ = Zepto) //事件处理模块 ;funciton(){ }(Zepto) /.../Ajax模块 ;function(){ }(Zepto) //表单序列化模块 ;function(){ }(Zepto) 原文地址:http://www.itkaoyan.cn/?
目录 类库和框架的区别 写法 jq操作样式 属性 事件 class dom操作 效果 类库和框架的区别 jq jq是一个功能丰富,轻量级的类库 zepto.js zepto.js 是更轻量级的类库
在zepto中,通过$来构造对象 $ = function(selector, context){ return zepto.init(selector, context) } 由该函数,实际上...given, return an empty Zepto collection //返回一空的zepto对象 if (!...else dom = zepto.qsa(document, selector) } // create a new Zepto collection from the nodes found...条件判断里的代码需要注意一点,即将dom转成zepto对象.使其能调用$的attr方法,attr函数留在后面。...重新回到init函数,接下来的都是一些条件判断,其中有一个是选择器函数 即zepto.qsa zepto.qsa = function(element, selector){ var found
zepto中的ready函数是作为$.fn的一个方法,即作为一个zepto对象的方法 readyRE = /complete|loaded|interactive/; ready: function(callback...所以在zepto中,必须检测document.readyState的值来判断下一步的进行的动作。
课程地址:https://www.imooc.com/learn/229 一、 常见移动端开发框架简介 二、Zepto框架介绍和入门 三、 Zepto框架核心API 1.Core 2.事件 自定义事件...手机模拟事件 touch.js的第三方插件库 3.zepto ajax 自带的四个模块 4.zepto插件 先了解设计模式 创建插件,扩展 四、移动端简单网页案例 1.移动端案例介绍 ajax请求,dom...节点渲染,事件绑定 2.项目目录结构 后端代码-node.js lib-逻辑方面,views存放一些模板 前端代码-zepto.js libs封装了一些公用方法 和业务相关的代码 发布,多个文件打包压缩...3.页面结构搭建 后端用express写 增加一个页面 从服务器取数据 添加一些内容 4.页面的js逻辑
Zepto.js是一个轻量级的针对现代浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。 1. Why Zepto.js?...API类似jQuery,熟悉jQuery可以无缝迁移到Zepto.js Zepto仅针对高版本现代浏览器设计了最小核心的通用库,代码体积小,尤其适合移动端开发。...Zepto.js下载 代码下载:zeptojs中文站 、 github 2.1 自定义Zepto.js文件模块 zepto默认是有五个模块的,分别为zepto、event、ajax、form、ie,这五个模块被称为核心模块...不支持jQuery CSS 扩展, 然而,可选的“selector”模块有限提供了支持几个最常用的伪选择器 Zepto.js: 无法获取隐藏元素宽高; Zepto 的选择器表达式: [name=value...总结 zepto.js确实非常小巧,而且非常讨巧的利用了大家熟悉jQuery的优势,确实非常可爱的一个js库,设计的模块中庸而又实用,在移动端的触屏事件封装的很不错,移动端web开发值得推荐。
$.inArray(element, array, [fromIndex]) ⇒ number 返回数组中指定元素的索引值(以0为基数),如果没有找到该元素...
这里主要分析zepto事件中的$.on函数,先看一下该函数的代码 $.fn.on = function(event, selector, data, callback, one){ var autoRemove...//callback = function(){return false} if (callback === false) callback = returnFalse //迭代zepto...该函数主要分析的是return 后面的语句,在前面的分析中,分析了each函数和$对象,也就是对$对象中的每一个dom进行绑定事件,这里先跳过autoRemove函数,留在后面分析,如果有传入选择器,zepto...先定义一个delegator函数,delegator函数中有一个match变量,该变量即为我们要绑定事件的目标元素,zepto采用的是事件委托,官方文档对于closest的定义如下: ?...stopPropagation: 'isPropagationStopped' } 在原生的事件属性中,也存在prereventDefault等方法以及判断其值的defaultPrevented属性,但在zepto
this.pluck('textContent').join("")获取,我们先来看一下pluck做了些什么 plunck // `pluck` is borrowed from Prototype.js...参考 读Zepto源码之属性操作 textContent mdn multiple zepto.js 源码解析 文章记录 ie模块 Zepto源码分析之ie模块(2017-11-03)...data模块 Zepto中数据缓存原理与实现(2017-10-03) form模块 zepto源码分析之form模块(2017-10-01) zepto模块 这些Zepto中实用的方法集(2017-08...-26) Zepto核心模块之工具方法拾遗 (2017-08-30) 看zepto如何实现增删改查DOM (2017-10-2) Zepto这样操作元素属性(2017-11-13) event模块 mouseenter...(2017-06-05) 向zepto.js学习如何手动触发DOM事件(2017-06-07) 谁说你只是"会用"jQuery?
领取专属 10元无门槛券
手把手带您无忧上云