摘要:
做前端最痛苦的莫过于兼容问题了,同一样东西,不同浏览器有不同的实现,同一个浏览器不同的版本也有不同的处理。直叫人抓狂。但既然做了前端,就不得不提起耐心,面对这些万恶的兼容。jQuery作为一个目前来讲最流行的JS库,它同样提供了检测各种各样特性的功能,告诉你某个功能该浏览器是否支持,好让你做出进一步的处理。下面,先罗列一下一些问题吧。测试浏览器:IE6,IE7,IE8,IE9,chrome23.0.1271.95,firefox17.0.1,其中IE78是在IE9的文档模式下,不包准确,但jQuery和网上搜到的结果应该可以相信前人的测试是准确的。另,在chrome23这本版本已修复的bug也 阅读全文
摘要:
关于Deferred对象,建议先看一下阮一峰老师的《jQuery的deferred对象详解》看完之后,相信你对Deferred已经有所了解,如果你还想继续阅读下面的源码,可以先自己看下jQuery.Callbacks,或者先参考我前一篇文章:《学习jQuery.Callbacks》完后再看下面的源码注释,相信你会发现,所谓的Deferred,其实就是构建了2条Callbacks的回调list,如下:var calresolve = $.Callbacks('once memory'), calreject = $.Callbacks('once memory') 阅读全文
摘要:
Callbacks是JQ的一个回调对象,可以用来添加回调,执行回调,删除回调等等。并提供一些参数如once,memory,unique等来进行特殊需求的控制。这里就不举例说明Callbacks的用法了。具体详细说明可以参见:http://api.jquery.com/jQuery.Callbacks/我们学习源码,需先了解如何使用,这里假设我们已经知道如何使用Callbacks了。他的实现思路就是: 构建一个存放回调的数组,如var list = [],通过闭包使这条回调数组保持存在。添加回调时,将回调push进list,执行则遍历list执行回调。看思路貌似很简单,我们就直接来看源码吧,对于 阅读全文