chaojidan

导航

随笔分类 -  jquery源码解析-适合入门者

jquery源码解析-适合入门者
jquery源码解析:val方法和valHooks对象详解
摘要:这一课,我们将讲解val方法,以及对value属性的兼容性处理,jQuery中通过valHooks对象来处理。首先,我们先来看下val方法的使用:$("#input1").val() //获取input元素的value属性值$("#input1").val("hello") //设置inpu... 阅读全文

posted @ 2015-01-05 22:32 chaojidan 阅读(1720) 评论(0) 推荐(0) 编辑

jquery源码解析:addClass,toggleClass,hasClass详解
摘要:这一课,我们将继续讲解jQuery对元素属性操作的方法。首先,我们先看一下这几个方法是如何使用的:$("#div1").addClass("box1 box2"); //给元素div的class属性添加box1和box2$("#div1").removeClass("box1"); //删除... 阅读全文

posted @ 2015-01-05 20:52 chaojidan 阅读(762) 评论(0) 推荐(0) 编辑

jquery源码解析:attr,prop,attrHooks,propHooks详解
摘要:我们先来看一下jQuery中有多少个方法是用来操作元素属性的。首先,看一下实例方法:然后,看下静态方法(工具方法):静态方法是内部使用的,我们外面使用的很少,实例方法才是对外的。接下来,我们来看下一些方法是如何使用的?$("#div1").attr("title","hello") ,设置属性,两个... 阅读全文

posted @ 2014-12-30 23:21 chaojidan 阅读(1250) 评论(0) 推荐(0) 编辑

jquery源码解析:jQuery队列操作queue方法实现的原理
摘要:我们先来看一下jQuery中有关队列操作的方法集:从上图可以看出,既有静态方法,又有实例方法。queue方法,相当于数组中的push操作。dequeue相当于数组的shift操作。举个例子:function aaa(){ alert(1);}function bbb(){ alert(2);}$... 阅读全文

posted @ 2014-12-25 23:45 chaojidan 阅读(3717) 评论(1) 推荐(1) 编辑

jquery源码解析:jQuery数据缓存机制详解2
摘要:上一课主要讲了jQuery中的缓存机制Data构造方法的源码解析,这一课主要讲jQuery是如何利用Data对象实现有关缓存机制的静态方法和实例方法的。我们接下来,来看这几个静态方法和实例方法的源码解析:data_user = new Data(); //对外使用的数据缓存对象data_priv ... 阅读全文

posted @ 2014-12-24 22:09 chaojidan 阅读(434) 评论(0) 推荐(0) 编辑

jquery源码解析:jQuery数据缓存机制详解1
摘要:jQuery中有三种添加数据的方法,$().attr(),$().prop(),$().data()。但是前面两种是用来在元素上添加属性值的,只适合少量的数据,比如:title,class,name等。对于json这种数据量大的,就适合用data方法来添加,而data方法就是jQuery缓存机制最重... 阅读全文

posted @ 2014-12-24 09:10 chaojidan 阅读(1132) 评论(0) 推荐(1) 编辑

jquery源码解析:jQuery静态属性对象support详解
摘要:jQuery.support是用功能检测的方法来检测浏览器是否支持某些功能。针对jQuery内部使用。我们先来看一些源码:jQuery.support = (function( support ) { ...... return support;})( {} );jQuery.support其... 阅读全文

posted @ 2014-12-22 22:21 chaojidan 阅读(406) 评论(0) 推荐(1) 编辑

jquery源码解析:jQuery工具方法when详解
摘要:我们先来看when方法是如何使用的:var cb = $.when(); //when方法也是返回一个延迟对象,源码是return deferred.promise();返回的延迟对象不能修改状态$.Deferred()也是返回一个延迟对象,那么它们的区别是什么呢?$.Deferred()只能针对... 阅读全文

posted @ 2014-12-18 22:35 chaojidan 阅读(1017) 评论(0) 推荐(0) 编辑

jquery源码解析:jQuery延迟对象Deferred(工具方法)详解2
摘要:请接着上一课继续看。$.Deferred()方法中,有两个对象,一个是deferred对象,一个是promise对象。promise对象有以下几个方法:state,always,then,promise,pipe,done,fail,progress。deferred对象除了有promise对象的所... 阅读全文

posted @ 2014-12-17 22:47 chaojidan 阅读(745) 评论(0) 推荐(1) 编辑

jquery源码解析:jQuery延迟对象Deferred(工具方法)详解1
摘要:请先看上一课的回调对象。Deferred是通过extend添加到jQuery中的工具方法。如下所示:jQuery.extend({ Deferred: function( func ) { }, when: function( subordinate /* , ..., subordinat... 阅读全文

posted @ 2014-12-16 21:53 chaojidan 阅读(733) 评论(1) 推荐(1) 编辑

jquery源码解析:jQuery工具方法Callbacks详解
摘要:我们首先来讲下Callbacks是如何使用的:第一个例子function a(){}function b(){}var cb = $.Callbacks();cb.add(a);cb.add(b);cb.fire(); //就会先执行a方法,再执行b方法上面大概的意思是:add方法,就是把方法添... 阅读全文

posted @ 2014-12-16 09:24 chaojidan 阅读(1249) 评论(2) 推荐(2) 编辑

jquery源码解析:proxy,access,swap,isArraylike详解
摘要:jQuery的工具方法,其实就是静态方法,源码里面就是通过extend方法,把这些工具方法添加给jQuery构造函数的。jQuery.extend({ ...... guid: 1, //唯一标识符,跟事件有关。举个例子:function show(){alert(this);}, $(... 阅读全文

posted @ 2014-12-13 13:34 chaojidan 阅读(1978) 评论(1) 推荐(1) 编辑

jquery源码解析:each,makeArray,merge,grep,map详解
摘要:jQuery的工具方法,其实就是静态方法,源码里面就是通过extend方法,把这些工具方法添加给jQuery构造函数的。jQuery.extend({ ...... each: function( obj, callback, args ) { //$.each(arr , funct... 阅读全文

posted @ 2014-12-11 21:52 chaojidan 阅读(696) 评论(0) 推荐(0) 编辑

jquery源码解析:type,isPlainObject,parseHTML,parseXML,globalEval详解
摘要:jQuery的工具方法,其实就是静态方法,源码里面就是通过extend方法,把这些工具方法添加给jQuery构造函数的。jQuery.extend({ ...... type: function( obj ) { //$.type(),判断类型 if ( obj == null ... 阅读全文

posted @ 2014-12-09 23:00 chaojidan 阅读(1007) 评论(0) 推荐(0) 编辑

jquery源码解析:expando,holdReady,ready详解
摘要:jQuery的工具方法,其实就是静态方法,源码里面就是通过extend方法,把这些工具方法添加给jQuery构造函数的。jQuery.extend({ //当只有一个对象时,就把这个对象中的属性和方法扩展到this对象中,这里的this指向jQuery expando: "jQuery" +... 阅读全文

posted @ 2014-12-08 22:15 chaojidan 阅读(1992) 评论(0) 推荐(0) 编辑

jquery源码解析:jQuery扩展方法extend的详解
摘要:jQuery中要扩展方法或者属性都是通过extend方法实现的。所谓的jQuery插件也是通过extend方法实现的。jQuery.extend扩展的是工具方法,也就是静态方法。jQuery.fn.extend扩展的是实例方法。当只传入一个对象的时候,里面的方法和属性是扩展到this上的。比如:$.... 阅读全文

posted @ 2014-12-04 22:16 chaojidan 阅读(442) 评论(0) 推荐(0) 编辑

jquery源码解析:pushStack,end,ready,eq详解
摘要:上一篇主要讲解了jQuery原型中最重要的方法init。接下来再讲一些比较常用的原型方法和属性core_slice = [].slice,jQuery.fn = jQuery.prototype = { toArray: function(){ //把jQuery对象转换成原生元素的... 阅读全文

posted @ 2014-12-04 11:05 chaojidan 阅读(939) 评论(0) 推荐(0) 编辑

jquery源码解析:jQuery原型方法init的详解
摘要:先来了解几个jQuery方法:$("li") -> this -> jQuery对象 -> { 0 : "li", 1 : "li", 2 : "li", length : 3 }$("aaa") 的效果跟 $("")的效果是一样的。然后来看一下init方法,也就是新建jQuery... 阅读全文

posted @ 2014-12-02 22:46 chaojidan 阅读(1575) 评论(0) 推荐(1) 编辑

jquery源码解析:代码结构分析
摘要:本系列是针对jquery2.0.3版本进行的讲解。此版本不支持IE8及以下版本。(function(){ (21, 94) 定义了一些变量和函数, jQuery = function(){}; (96,283) 给jQuery对象添加一些属性和方法(实例方法,通过$("div")这... 阅读全文

posted @ 2014-12-01 20:44 chaojidan 阅读(478) 评论(0) 推荐(0) 编辑