本文作者:IMWeb 谦龙 原文出处:IMWeb社区 未经同意,禁止转载 前言 前端在最近几年实在火爆异常,vue、react、angular各路框架层出不穷,咱们要是不知道个双向数据绑定
最近一直在看zepto的源码,希望通过学习它掌握一些框架设计的技巧,也将很久不再拾起的js基础重新温习巩固一遍。如果你对这个系列感兴趣,欢迎点击下方地址watch,随时关注动态。这篇文章主要想说一下zepto中事件模块(event.js)的trigger实现原理。
Zepto.js是一个轻量级的针对现代浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。 1. Why Zepto.js? API类似jQuery,熟悉jQuery可以无缝迁移到Zepto.js Zepto仅针对高版本现代浏览器设计了最小核心的通用库,代码体积小,尤其适合移动端开发。 Zepto增加了针对移动端的触摸和手势相关的事件 Zepto模块化做的很灵活,可以自定义组合模块 2. Zepto.js下载 代码下载:zeptojs中文站
gitHub地址 1,移动端minimvvm框架qvm实现 qvm概念,一个适用于移动端的mini mvvm(什么是mvvm?没了解的同学自己去了解)框架。参考了angular和vuejs的设计实现思
qvm概念,一个适用于移动端的mini mvvm(什么是mvvm?没了解的同学自己去了解)框架。参考了angular和vuejs的设计实现思路,并进行简化封装,目前使用的zepto基本依赖库,使用最少的代码实现了基础功能版。
前端在最近几年实在火爆异常,vue、react、angular各路框架层出不穷,咱们要是不知道个双向数据绑定,不晓得啥是虚拟DOM,也许就被鄙视了。火热的背后往往也是无尽的浮躁,学习这些先进流行的类库或者框架可以让我们走的更快,但是静下心来回归基础,把基石打牢固,却可以让我们走的更稳,更远。
前言 套用上篇文章向zepto.js学习如何手动触发DOM事件 的开头??? 前端在最近几年实在火爆异常,vue、react、angular各路框架层出不穷,咱们要是不知道个双向数据绑定,不晓得啥是
Event 模块是 Zepto 必备的模块之一,由于对 Event Api 不太熟,Event 对象也比较复杂,所以乍一看 Event 模块的源码,有点懵,细看下去,其实也不太复杂。 读Zepto源码
本文作者:IMWeb 袁飞翔 原文出处:IMWeb社区 未经同意,禁止转载 部分插件 fis3-hook-lego 查找文件 fis3-hook-annotation 文件注解 Tip 1、勿使用lego_modules文件全路径 <script src="/lego_modules/zepto/1.1.7/zepto.js"></script> 直接 <script src="zepto"></script> js require: // js /** * @require "zepto"
课程地址:https://www.imooc.com/learn/229 一、 常见移动端开发框架简介 二、Zepto框架介绍和入门 三、 Zepto框架核心API 1.Core 2.事件 自定
前言 JavaScript最初的一个应用场景就是分担服务器处理表单的责任,打破处处依赖服务器的局面,这篇文章主要介绍zepto中form模块关于表单处理的几个方法,serialize、seriali
本文介绍了一种基于fis的插件,该插件具有查找文件、文件注解、查找文件、文件注解等功能。同时,该插件还可以将小于5k的js和小于20k的css文件内联到html中,并将被sprite的png文件排除在发布之外。此外,该插件还可以将不需要被打包的文件设置为pack=false,并将文件注解和文件全路径等选项设置为可选。
Zepto是一个轻量级的针对现代高级浏览器的 JavaScript库, 它与jquery有着类似的api。
有了上面的知识的回顾,接下来我们开始看zepto中serialize和serializeArray的实现
在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。
在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。 1. PC端事件在移动端的兼容问题 1.1 click事件的200~300ms延迟问题 由于移动端默认的布局视口宽度是980像素,所以网页文字非常小,为了快速让网页还原到原来的大小,Safari最新引入了双击缩放功能:用户双击手机页面的时候,浏览器会智能的缩放当前页面到原始大小。 双击缩放的原理就是,当用户click一次之后,浏览器会经过约300ms之后检测是否再有一次click,如果有的话,
部分插件 fis3-hook-lego 查找文件 fis3-hook-annotation 文件注解 Tip 1、勿使用lego_modules文件全路径 <script src="/lego_modules/zepto/1.1.7/zepto.js"></script> 直接 <script src="zepto"></script> js require: // js /** * @require "zepto" */ 2、不需要被define包裹的文件使用@noWrap文件注解标示 /** *
Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。
学习zepto.js(对象方法)[5] clone: 该方法不接收任何参数,会返回对象中的所有元素集合,但不会对象绑定的事件. var $temp =$("div").clo
WebBuilder是一款开源的可视化移动Web应用开发和运行平台。基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发;高效、稳定和可扩展的特点,适合复杂企业级应用的运行;跨平台、数据库和浏览器的架构,适应复杂的服务器和客户端环境;包括智能数据库访问在内的多项先进技术,使应用系统的开发更快捷和简单。
第一阶段:HTML+CSS HTML进阶、CSS进阶、div+css布局、HTML+css整站开发、 JavaScript基础:js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。 JS基本特效:常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。 JS高级特征:正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础、 JQuery:基础使用悬着器、D
最近在做一个手机主题,为了用上看似华丽的Ajax 特效,不得不用上jQuery(不要问我为什么不用原生js,要是我会写就不用那么费劲了)。但众所周知Jquery 库是日渐臃肿,就最新的版本,min版本(压缩版)就有90多kb,在手机上是不能承受的痛啊。于是思考着对jQuery库进行精简压缩。 jQuery 的替代方案 搜索一下,说道可以采用不少替代方案,比如下面的几个(来自互联网,原始出处未详): Zepto.js Zepto.js 是支持移动WebKit浏览器的JavaScript框架,具有与jQue
学习zepto.js(Hello World) Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。 昨天听说了zepto.js,正好最近也比较闲,所以就学习一下这个著名DOM操作库,由于本人刚接触这个,但又不想单纯的说如何使用,所以本人会按照API顺序来说明方法如何使用并试着将对于源码的理解写上来; $(): 与jQuery的$()几乎一样,但zepto的选择器是直接使用的
因为zepto默认构建包含: Core, Ajax, Event, Form, IE几个模块,要使用animate需要再引用fx模块。
本文介绍了Zepto源码分析之ie模块,从源码分析的角度介绍了Zepto中ie模块的实现原理和注意事项。主要包括获取元素样式、计算元素尺寸、浏览器渲染机制、事件处理等方面,并通过实例进行解释。
先看一下zepto事件的函数,在这里,zepto是把zepto对象作为一个立即执行函数的参数传进去的。
在日常开发中,我们经常会需要一些常用的资源,虽然很容易找到,但是有时候却发现又不是那么好找。子勰把一些常用的工具整理了一下,发表在这里,供大家参考,同时也备忘方便自己使用。 几个超级酷炫的前端模板 N
目录 类库和框架的区别 写法 jq操作样式 属性 事件 class dom操作 效果 类库和框架的区别 jq jq是一个功能丰富,轻量级的类库 zepto.js zepto.js 是更轻量级的类库,比jq的打开速度快的多,同样兼容jq的代码 apicloud apicloud是一个框架 类库 提供了很多api,相当于一个仓库,里面有各种各样的工具,你需要用到什么就去找这些工具。 框架 相当于买了一个新房子,现在是一个空壳,需要去装修 写法 $(selector).actio
1.$() 的用法。 获取元素 $('div') //获取所有页面中的div元素 $('#foo') // 获取ID 为"foo"的元素 创建元素 $("Hellow"") //新的p元素 $("",{text:"Hellow",id:"greeting",css:{color:'darkblue'}}) //Hellow</
Hellow
Hellow</
HTML5学堂:相对来说,JS在移动端要远远低于PC端的使用频率,因此积累的开发经验并不是太多。在这里简要整理一些JavaScript在移动端的项目经验,主要包括click点击事件延迟、元素高亮点击区、zepto的touch问题等。 移动端click时间300ms延迟 在移动端,click点击事件会造成300ms的延迟,造成这种延迟的原因在于:当用户一次点击屏幕之后,浏览器并不能立刻判断用户是要进行双击缩放,还是想要进行单击操作。因此,浏览器就等待 300 毫秒,以判断用户是否再次点击了屏幕。 对于这种体验
学习zepto.js(对象方法)[3] 继续说zepto里attributes的相关操作. attr,removeAttr,prop这三个方法. attr(): 三种用途 get: 返回值为一个string字符串 $("").attr("id"); //--> "special" 注意:只能返回对象中第一个节点的属性值 set: 返回值为一个zepto对象 $("").attr("id","special"); //
会调用event的preventDefault()可以阻止默认情况的发生:阻止页面滚动
链模式是实现链式调用的主要方法,通过在自身方法中返回自身的方式,在一个对象连续多次调用自身方法是可以简化写法的。
根据文章内容撰写摘要总结。
(该篇文章重点是想说jsonp实现过程,如果你想了解跨域相关的更多的知识,可以谷歌,度娘一把)
移动端用tap时会有穿透问题 一:click与tap比较 click与tap都会触发点击事件,但是在手机web端,click会有200-300ms的延迟,所以一般用tap代替click作为点击事件。singleTap 和doubleTap分别代表单次点击和双次点击 二:tap的穿透处理 使用zepto框架的tap的点击事件,来规避click事件的延迟响应,会出现穿透,即点击会触发非当前层的点击事件。 三:穿透原因 问题:在HTML5点击了q以后,弹出b的弹框 因为tap事件是通过document绑定了tou
1:GMU:http://cloudajs.org/ui/brand/gmu GMU是基于zepto的mobile UI组件库,提供webapp、pad端简单易用的UI组件! http://gmu.b
这几天用zepto.js写了不少事件,突然想到一个问题,那就是原生的js如何给动态生成的标签添加事件?因为这些标签都是后来通过ajax或者运行其他点击事件生成的,那么如果之前给他们写事件他们这个dom对象是找不到的,jq通过事件委托解决了这个问题,但是原生js这个问题该怎么解决呢?我在网上查了很多资料,好像只有一种办法,那就是在生成标签并把标签添加到html结构中后再添加对于这个新标签的各种事件,如果有更好的方法,欢迎提出来。 <!DOCTYPE html> <html lang="en"> <head>
meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> 忽略将页面中的数字识别为电话号码 <meta name="format-detection" content="telephone=no" /> 忽略Android平台中对邮箱地址的识
101.$.ajax $.ajax(options) 类型:XMLttpRequest 执行Ajax请求。他可能是本地资源,或者通过支持HTTP access control的浏览器 或者通过 JSONP来实现跨域。 选项: type(默认: “GET”):请求方法 (“GET”, “POST”, or other) url (默认: 当前地址):发送请求的地址 data (默认:none):发送到服务器的数据;如果是GET请求,它会自动被作
本文作者:IMWeb 谦龙 原文出处:IMWeb社区 未经同意,禁止转载 前言 原文地址 仓库地址 jsonp(JSON with padding)你一定不会陌生,前端向后端拿数据的方式之
学习zepto.js(对象方法)[4] 今天说说那一套获取元素集合的一些方法: ["children", "clone", "closest", "contents", "empty", "eq", "filter", "find", "first", "get", "has", "last", "not", "parent", "parents", "siblings"] children: 获取对象的所有匹配的直接子元素. 参数为可选的一个选择器.如果不填则是所有子节点,否则为
Dialog.open({ID,Title,URL,InnerHtml,InvokeElementId,Width,Height,Top,Left,Drag,OKEvent,ShowButtonRow,MessageTitle,Message,AutoClose,OnLoad})
jQuery的核心是通过各种选择器,选中DOM元素,可以用querySelectorAll方法模拟这个功能。
视频附加信息链接:http://www.kancloud.cn/wangfupeng/zepto-design-srouce/173680
穿透现象与click的延迟解决方法是分不开的,若要了解穿透现象,需要先了解click延迟的解决原理。
用了document.documentElement.contains做判断,如果浏览器支持该方法,就用node.contains重新包了一层得到一个函数,差别就在于如果传入的两个节点相同,那么原生的node.contains返回true,具体用法可以查看MDN Node.contains但是$.contains返回false。
本文作者:IMWeb 谦龙 原文出处:IMWeb社区 未经同意,禁止转载 前言 使用Zepto的时候,我们经常会要去操作一些DOM的属性,或元素本身的固有属性或自定义属性等。比如常见的有a
领取专属 10元无门槛券
手把手带您无忧上云