可想实现一个自己的简单jQuery库?(十二,完结篇)

2015-11-24
阅读 2 分钟
3k
Lesson-11 新增width,height,extend 事件部分讲完了后,我们最后实现3个方法. {代码...} 关于width(),height()就常用的就2种,一个是取值,一个是赋值. 我们通过判断arguments的个数,是取值还是赋值. 赋值很容易,我们就用最简单的办法,直接设置. 如果是取值,那我们就要做个判断,因为window,和document的取法是不一样的. 还...

可想实现一个自己的简单jQuery库?(十一,实现事件委托)

2015-11-24
阅读 4 分钟
3.3k
Lesson-10 实现on,off的事件委托! 我们能根据之前的思路,利用同样的方法实现一个事件委托. 先来看看流程图 然后先看看结果是如何,毕竟流程图看的也不一定能懂。 最后我们再来看看代码 {代码...} 继续再看一遍log的结果,对比刚刚的代码 连同代码,我在注释里已经非常的详细解释了整个过程,大家结合控制台log的结果,在...

可想实现一个自己的简单jQuery库?(十,实现on与off)

2015-11-23
阅读 3 分钟
3.9k
1.有一个全局存储所有Events的数组,存放每个dom元素上的事件。 2.给每个DOM一个guid的唯一标识符,通过这个guid来找出Events数组里的事件。

可想实现一个自己的简单jQuery库?(九)

2015-11-22
阅读 2 分钟
3.3k
Lesson-8 事件机制 在讲事件机制之前呢,我们有一个很重要的东西要先讲,那就是如何实现事件委托(代理). 只有必须先明白了如何实现一个事件委托,我们才能更好的去实现on和off.在我看来,on和off里最难实现的就是他的事件委托. {代码...} 以上是我对整个委托的实现,当然在这只做了非常简单的实现,没有对很多别的情况进行判断...

可想实现一个自己的简单jQuery库?(八)

2015-11-21
阅读 2 分钟
3k
Lesson-7 新增 html,append,before,after,remove {代码...} html()方法我就用了这种很愚蠢的方法实现了!比起之前的data,attr,css什么的简单多了,大家可以自己继续完善. 接着是我们的重头戏,3个文档插入.我找到了一个原生js叼叼的方法 insertAdjacentHTML 来让我们去看下MDN是怎么解释的 概述 insertAdjacentHTML() 将指...

可想实现一个自己的简单jQuery库?(七)

2015-11-20
阅读 3 分钟
3.1k
Lesson-6 这个版本完善hasClass和css 方法. 新增 attr和data {代码...} 在我们上一个版本中,没有对css方法传对象进行解析,在这我们要进行完善. 刚刚好我们现在已经有了each方法!直接用上吧! 在我们的for循环中,要先判断下传入的attr参数是字符串还是对象. 如果是字符串,我们就按照css('width','100px')这样的方式处理 如...

可想实现一个自己的简单jQuery库?(六)

2015-11-19
阅读 4 分钟
3.3k
Lesson-5 这个版本新增6个方法,find(),first(),last(),eq(),get(),ajax 先给出代码 {代码...} 我们要仔细分辨下,这4个方法在jQuery中返回的都是什么对象?到底是dom对象还是jQuery对象. 明白了这个后就很容易能写出这4个方法 {代码...} 首先find, 我们知道一般都会这样写 $('div').find('span') 查找div下的span,返回的是...

可想实现一个自己的简单jQuery库?(五)

2015-11-18
阅读 2 分钟
2.7k
Lesson-4 这个版本我们要增加一个用的非常多的方法! 那就是each! 我们知道each不仅能遍历数组,还能遍历对象. 首先我们需要一个对数组进行验证的方法 {代码...} 接着就是我们的重头戏 {代码...} 因为我们还可能遍历Kodo数组对象 如 {代码...} 所以还需要一个判断 是否是Kodo数组对象 {代码...} 在这应该强调下call的用法,...

可想实现一个自己的简单jQuery库?(四)

2015-11-17
阅读 1 分钟
2.7k
Lesson-3 修改f(selector) 里的判断,新增domReady 我们知道在jQuery中还有一种选择器写法 {代码...} 在dom加载完毕后马上就执行,这样的方法会比onload更快,所以domReady对于我们来说一定是必不可少的 我们在init方法中要新增以下判断 {代码...} 首先selector可能为object的情况,比如传入的是原生dom对象,dom数组对象. 另...