jQuery源码阅读(五):Callback API

Author : lovecicy

上一篇讲述了jQuery Callback API的一个bug,这一篇我们言归正传,来介绍一下Callback API。 Callback API于1.7版本引入,它提供了一种强大的方式来管理一系列的回调函数,可以添加,删除,触发或者停用回调函数。 可能我们在平时使用中不太会用到Callback API,但是在jQuery内部,Callback API可是发挥了很大的作用的。在jQuery的Ajax API和Deferred API中都有用到,而我们的$(calback)方法,依赖于Deferred API,其实也是依赖Callback API的。而且,在平时我们自己写代码的过程中,我们同样可以用Callback API来管理我们的回调函数。 交代完了它的背景,让我们来看看真实的代码吧。 其实在写这篇文章前,我已经看过了前端狮子对于Callback API的解读,虽然我们解读的并非同一个版本的jQuery,但是狮子的文章在一定程度上帮我理解了这部分代码,并且狮子的解读与文章或多或少对我的解读产生了影响,所以,在写这篇文章时,我的内心也在纠结,如果写出类似的文章,那写的意义何在;而如果不[Read More]

standard

window.onload和DOMReady

Author : lovecicy

一直对window.onload事件和DOM Ready事件分不清楚,所以上网看看了。 首先弄明白一件事,window.onload事件是js原生支持的,只有在页面所有资源都加载完以后才会触发,当页面有大量的图片,加载事件很长,那么onload事件会过很久才会被触发。 而DOM Ready事件则是等待DOM文档结构准备完毕后出发,不用等待所有资源都加载完毕,就可触发。DOM Ready事件不是原生js事件,于是一些js的框架比如jQuery,MooTool,YUI等实现了此事件。 对于现代浏览器,DOMContentLoaded 事件在许多Webkit浏览器以及IE9上都可以使用, 此事件会在DOM文档准备好以后触发, 包含在HTML5标准中. 对于支持此事件的浏览器, 直接使用DOMContentLoaded事件就等于触发了DOM Ready事件。 对于IE6,7,8,微软在线文档指出:A few methods, such as doScroll, require the primary document to be completely loaded. If these meth[Read More]

standard