![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jquery源码
文章平均质量分 83
schifred
这个作者很懒,什么都没留下…
展开
-
Callbacks源码
var callbacks=$.Callbacks(options) 创建实例 options.once 是否只执行一次,默认为否 options.memory:是否记录上次执行的回调函数参数,记录后,再次执行回调时将该参数推入queue参数数组中,默认为否 options.unique:保证回调函数的单一性,默认为否 option...2016-08-03 14:07:17 · 85 阅读 · 0 评论 -
traversing.js源码
提供查询、过滤方法 traversing.js// dir.jsdefine([ "../../core"],function(jQuery){return function(elem,dir,until){ var matched=[], truncate=until!==undefined; while ( ( elem=elem[dir...2016-11-08 15:59:36 · 189 阅读 · 0 评论 -
wrap.js源码
提供wrap、wrapAll、wrapInnner、unWrap方法,外部包裹、内部包裹、或移除父级包裹元素 define([ "./core", "./core/init", "./manipulation", // clone "./traversing" // parent, contents],function(jQuery){jQuery.fn.ex...2016-11-08 14:29:11 · 233 阅读 · 0 评论 -
Sizzle源码
首先使用原生语句查找,其次在context下找到所有节点元素,校验元素是否匹配选择器,进行过滤,获取到待查询的元素。过滤时分为两种情形,针对选择器是否带:first()等位置关系伪类,若携带,setMatcher函数得到过滤函数,:first()伪类的校验函数也通过引用对象的形式“滤除“未匹配的节点;若不携带,elementMatcher得到校验函数,其中层级关系如“#form > ...原创 2016-11-07 17:22:22 · 405 阅读 · 0 评论 -
Core源码
core.js种子模块提供静态方法或属性,如$.extend(拷贝对象,首参true深拷贝)、$.each(遍历对象,返回首参对象)、$.map(遍历对象,创建新数组返回)、$.grep(过滤数组)、$.merge(拼接数组,返回首参对象)、$.proxy(改变函数执行的上下文)、$.makeArray(转变为数组)、$.inArray(返回元素在数组中的索引)、$.camelCase...原创 2016-10-12 14:48:29 · 222 阅读 · 0 评论 -
Event源码
Event模块的设计思路1、$.event.add(elem,types,handler,data,selector) 添加事件回调函数:构造Data对象实现,其中,elemData.handle属性存放的回调函数通过elem.addEventListener方法绑定到元素上,页面事件触发时,执行该回调函数;elemData.events属性以对象形式存放事件类型、命名空间、捕获元素、...原创 2016-09-17 17:17:52 · 313 阅读 · 0 评论 -
Queue源码
一、queue模块的意义处理动画事件的回调金字塔。无queue模块:$("#animate1").animate({heihgt:"760px"},function(){ $("#animate2").animate({width:"1280px"},function(){ console.log("end"); ...原创 2016-09-09 21:53:10 · 125 阅读 · 0 评论 -
Data源码
实现功能:为文档元素、节点元素、普通对象以this.expando为键添加Data对象,对外接口获取、设置、移除该Data对象,以及判断该Data对象是否有值;Data对象分为共有和私有两种,共有的Data对象提供外部接口获取和设置该Data对象的内容,私有的Data对象直接在内部调用构建或获取Data对象的方法,(event模块的回调函数队列通过私有的Data对象构建);节点元素...2016-09-06 22:02:26 · 384 阅读 · 0 评论 -
Deferred源码
一、由 function(args,callback){} 到 Deferred.resolve().done(fn) 主要问题:添加多个回调函数需要在function函数体内进行改写,针对resovle函数执行成功、reject函数执行失败、progress函数执行过程中三种状态分别注册回调函数较为麻烦,以及对回调函数的处理机制没有通用性,可移植性差。 功能需要:降解回调函数...原创 2016-08-13 00:08:18 · 299 阅读 · 0 评论 -
manipulation.js源码
提供操作dom元素的append、remove等方法 // setGlobalEval.jsdefine([ "../data/var/dataPriv"],function(dataPriv){// "globalEval"属性标记文档中已执行的sctipt节点function setGlobalEval(elems,refElements){ var ...2016-11-09 16:02:02 · 290 阅读 · 0 评论