摘要: 前几篇文章中的示例代码,去掉了几个 bug, 这里一起提供下载。jQuery 核心模拟的代码jQuery 数据管理的代码jQuery 事件处理的代码jQuery ajax 模拟代码jQuery extend 的代码测试页面:[代码]
阅读全文
摘要: 在开发中,经常会遇到在一个字节数组中,查找一个子数组的问题。如果不是字节数组,而是字符串的话,直接通过 string.IndexOf 就可以解决,对于字节数组还是需要做一点功课。因为字符串比较容易观察,所以,我们首先通过字符串来分析,然后,再在字节数组上实现。问题:对于一个源字符串 source = "abababaababacb" 来说,查找其中包含子串 pattern = "ababacb" ...
阅读全文
摘要: 为了方便查阅,将最近的 jQuery 原理模拟代码整理一个目录。JQuery 原理jQuery1.3.2 源码学习-5 jQuery 中的原型 jQuery 的原型关系图 jQuery 原理的模拟代码 -1 核心部分 jQuery 原理的模拟代码 -2 数据部分jQuery 原理的模拟代码 -3 事件处理 jQuery 原理的模拟代码 -4 重要的扩展函数 extendjQuery 原理的模拟代码...
阅读全文
摘要: 对于 xhr 对象来说,我们主要通过异步方式访问服务器,在 onreadystatechange 事件中处理服务器回应的内容。简单的 xhr 使用如下所示。[代码]jQuery 简单地包装了对 xhr 对象的使用,通过对 jQuery 对象增加常用的访问方法,然后,提供给 jQuery 对象来使用。[代码]在页面中,可以如下使用。[代码]jQuery 原理的模拟代码 -0 目录
阅读全文
摘要: 在上两篇文章中,我们看到每次要通过 jQuery 的原型增加共享方法的时候,都需要通过 jQuery.fn 一个个进行扩展,非常麻烦,jQuery.fn.extend 提供了一个扩展机制,可以方便我们通过一个或者多个示例对象来扩展某个对象。如果没有指定被扩展的对象,那么将扩展到自己身上。jQuery.extend 也可以通过 jQuery.fn.extend使用,在 jQuery 中使用很多,用来...
阅读全文
摘要: 在 jQuery 中,实际注册的事件处理函数是一个匿名的闭包函数,这个函数最终都是通过调用 jQuery.event.handle 进行处理的。在对象的私有扩展对象上,专门增加了一个名为 events 的事件管理对象,在这个对象上每种事件分别对应一个同名的属性,这个属性的值是一个数组,针对这个事件的处理程序依次压入这个数组中,构成一个事件处理的列表。自定义的事件处理函数即被压入这个列表中。在事件触...
阅读全文
摘要: 在 jQuery 中,可以对每一个 DOM 对象保存私有的数据。这个数据当然要通过属性来进行存取,但是,有多个属性怎么办呢?,要定义多个属性吗?,属性的名字叫什么呢?会不会与其他的属性有冲突呢?在 jQuery 中,针对 DOM 对象扩展的私有数据可以用一个对象来表示,多个数据就使用这个对象的多个属性来表示。为了能够通过 DOM 对象找到这个扩展数据对象,而不会与其他现有的属性冲突,在 jQuer...
阅读全文
摘要: 最近又看了一下 jQuery 1.4.2, 为了便于理解,将 jQuery 的核心使用比较简单的代码模拟一下。方便学习。核心部分实现了两种选择器,使用 id 和标记名,还可以提供 css 的设置,以及 text 的设置。[代码]在 jQuery 中, jQuery 对象实际上是一个仿数组的对象,代表通过选择器得到的所有 DOM 对象的集合,它像数组一样有 length 属性,表示代表的 DOM 对...
阅读全文