随笔分类 -  jquery

摘要:本片随笔主要是分析了下jQuery的事件模型,即如何统一事件对象,以及处理过程。这里简要说明一下几点:jQuery通过统一的方法(第62行),eventHandle函数进行事件的分发,利用jQuery.Event统一修正了浏览器的event对象,注册事件处理器时,也是注册eventHandle,然后统一将相关的事件信息,存储在与dom相联系的jQuery.cache缓存中,如下图:值得注意的还有事件代理和trigger的实现:(1)事件代理是个很不错的想法,利用了事件冒泡,在父元素上绑定事件,jQuery通过selector与事件处理器handle的selector进行匹配,从而达到代理的作用 阅读全文
posted @ 2012-11-20 11:39 Lovesueee 阅读(2116) 评论(2) 推荐(4) 编辑
摘要:数据缓存,jQuery现在支持两种:1. dom元素,数据存储在jQuery.cache中。2.普通js对象,数据存储在该对象中。以下是源代码: 1 var rbrace = /^(?:\{.*\}|\[.*\])$/, 2 rmultiDash = /([A-Z])/g; 3 4 // 首先是对jQuery对象自身的扩展 5 jQuery.extend({ 6 // 即jQuery.cache,负责存储dom元素的缓存数据 7 cache: {}, 8 9 // removeData时,缓存的数据被清除,返回的当时对应的id,以便再利用 ... 阅读全文
posted @ 2012-10-24 21:57 Lovesueee 阅读(3782) 评论(2) 推荐(6) 编辑
摘要:首先来一张jQuery.Deferred的结构图:再来一张执行deferred.then(/*fnDone, fnFail, fnProcess*/)后的结构图:最后来看看源代码: 1 jQuery.extend({ 2 3 Deferred: function( func ) { 4 // 数据元组集 5 // 每个元组分别包含一些与当前deferred相关的信息: 6 // 分别是:触发回调函数列表执行(函数名),添加回调函数(函数名),回调函数列表(jQuery.Callbacks对象),deferred最终状态(第... 阅读全文
posted @ 2012-10-18 23:21 Lovesueee 阅读(3344) 评论(7) 推荐(1) 编辑
摘要:来张jQuery结构图,方便大家整体了解: 阅读全文
posted @ 2012-10-18 17:36 Lovesueee 阅读(1586) 评论(6) 推荐(1) 编辑
摘要:1 // String to Object options format cache 2 // 是对option的一个缓存,避免每次都要createOptions 3 // 每一个option类似这样 4 // { 5 // memory : true 6 // ,once : true 7 // ,... 8 // } 9 var optionsCache = {}; 10 11 // Convert String-formatted options into Object-formatted ones and store in cache 12... 阅读全文
posted @ 2012-10-18 17:24 Lovesueee 阅读(5197) 评论(3) 推荐(1) 编辑

点击右上角即可分享
微信分享提示