细说 jQuery 插件篇(二) - 添加实例方法

2014-06-23
阅读 2 分钟
4.2k
前一篇介绍可以通过添加全局函数来开发 jQuery 插件,实际上全局函数就是对 jQuery 对象进行扩展,而添加实例方法就是对 jQuery.prototype 对象进行扩展,我们可以使用别名 - jQuery.fn。

细说 jQuery 插件篇(一) - 添加全局函数

2014-06-23
阅读 2 分钟
6k
首先我们在编写插件时必须保证 jQuery 库已经载入,但是我们不能保证 $ 一定可用,为了使用 $ 别名,我们可以利用 IIFE (Immediately Invoked Function Expression),即立即执行函数:

细说 jQuery Ajax操作篇(三) - 过程处理

2014-06-19
阅读 2 分钟
5.3k
当 Ajax 请求开始且尚未进行其他传输时,会触发 ajaxStart 的回调函数。 当最后一次活动请求终止时,则会执行通过 ajaxStop 注册的回调函数。

细说 jQuery Ajax操作篇(二) - 数据传递

2014-06-09
阅读 3 分钟
4.5k
在前一篇介绍 jQuery Ajax 的数据加载中的例子都是从静态的文件中取得数据,而 Ajax 更大的价值在于与后端服务器进行数据传递,动态地请求和发送数据。

细说 jQuery Ajax操作篇(一) - 数据加载

2014-06-08
阅读 2 分钟
8.6k
Ajax 通俗来讲即不需要刷新页面即可从服务器或客户端上加载数据,当然这些数据的格式是多种多样的。 加载 HTML 我们通常使用加载 HTML 的方法来加载 HTML 片段,并插入到指定位置,假设当前页面为: {代码...} 同目录下的 test.html 文件内容为: {代码...} 我们可以使用 load 方法来加载 HTML,将其绑定到按钮的点击事...

细说 jQuery DOM操作篇(二) - DOM 树操作

2014-06-07
阅读 2 分钟
6.5k
我们知道通过 $() 函数可以访问文档中的元素,并返回一个 jQuery 对象,并且通过一系列方法,我们可以修改元素的样式和内容,实际上,我们还可以通过该函数做更多的事情,例如添加、删除、复制等操作来改变 DOM 树的结构。

细说 jQuery DOM操作篇(一) - 属性操作

2014-06-06
阅读 2 分钟
3.3k
有时候,我们还需要对一些其他的属性进行操作,例如 href,title,id 等等。这里,我们可以使用 jQuery 的 attr 和 removeAttr 方法。举例如下:

细说 jQuery 样式篇(二) - 动画效果

2014-06-04
阅读 2 分钟
5k
除了使用 jQuery 内置的 hide,show,toggle 等方法来展现效果,还可以使用更为强大的 animate 方法来展现动画效果。 创建一个有背景色的 div:

细说 jQuery 样式篇(一) - 样式的获取与设置

2014-06-03
阅读 2 分钟
3.6k
在元素一篇学习了通过 addClass 方法可以为元素添加样式,但是对样式的操作不仅仅限于添加,例如取得元素特定样式,设置元素样式等等。 设置样式 jQuery 提供了一个 .css() 方法来操作样式,这个方法将获取样式设置样式的作用集中了在一起,非常方便我们对元素样式进行操作。 {代码...} 我们来获取这个 div 的样式,单个...

细说 jQuery 事件篇(六) - 模拟用户操作

2014-06-01
阅读 2 分钟
11.2k
前阵子在调一个 bug 的时候遇到一个很坑的问题,在判断一个输入框是否有用户输入时触发 updateModel 操作,并向后台发送 PUT 请求,结果调试时一直调不通,最后才发现的因为当用户输入 # 后系统判断这是个 tag 标签,因此通过 val 方法直接修改了输入框的内容,而通过 val 方法修改内容并不能触发绑定在输入框上的 chang...

细说 jQuery 事件篇(五) - 事件的移除和重绑定

2014-06-01
阅读 2 分钟
8.7k
如果我们需要移除已经注册的事件处理程序,使某些处理程序失效。一种做法是在事件处理程序中使用条件语句进行判断,另一种更彻底的做法就是直接移除该处理程序。

细说 jQuery 事件篇(四) - 改变事件过程

2014-05-30
阅读 3 分钟
4k
在 《细说 jQuery 事件篇(三) - 事件传播》 中提到了事件冒泡可能造成的弊端,当时举了 mouseout 的例子,对于 mouseout 这个特殊情况,我们可以用 hover 方法来解决,但是对于 hover 方法无法解决的情形,我们又应该如何处理呢? 为此,我们必须通过访问事件对象来改变事件过程。

细说 jQuery 事件篇(三) - 事件传播

2014-05-29
阅读 2 分钟
6.8k
另一种策略是“事件冒泡”,事件冒泡与事件捕获刚好相反,当点击 a 标签后,首先会发送到最具体的元素,在这个元素得到响应后,事件会往上冒泡到更外层的元素:

细说 jQuery 事件篇(二) - 处理简单事件

2014-05-28
阅读 2 分钟
4.6k
基于用户的事件,对特定的 DOM 元素样式进行转换是 jQuery 处理事件中比较常见的情形,举例说明,当用户点击输入框后,会增添 highlight 的样式:

细说 jQuery 事件篇(一) - 代码执行时机

2014-05-26
阅读 2 分钟
5.1k
在元素一篇介绍过,jQuery 可以使用 $(document).ready() 来使得代码在 DOM 加载完毕后自动执行代码,接下来具体介绍下这个机制。

细说 jQuery 元素篇(二) - 选择符

2014-05-25
阅读 2 分钟
4.7k
当在 jQuery 中使用 $(document).ready(function() {}) 时,位于其中的所有代码都会在 DOM 加载后立即执行。我们也可以简写为:$(function() {})。

细说 jQuery 元素篇(一) - 理解 DOM

2014-05-24
阅读 2 分钟
7.3k
DOM - Document Object Model,即文档对象模型,它通过对象树来展示 HTML 代码。jQuery 最强大的特性之一就是简化了对 DOM 元素的操作。

细说 Javascript 拾遗篇(四) : setTimeout 和 setInterval

2014-05-23
阅读 3 分钟
11.5k
上例中,当 setTimeout 函数被调用时,它会返回一个标志延时的 ID 并计划在大约 1000 毫秒后调用 foo 函数,函数 foo 将只会执行一次。 根据 Javascript 引擎的计时方法,以及 Javascript 单线程的本质,因此其他代码执行时可能会阻塞此线程,我们无法保证 setTimeout 函数内调用的函数会在指定的时间被执行。setTimeout...

细说 Javascript 拾遗篇(三) : 自动插入分号

2014-05-21
阅读 2 分钟
6.5k
尽管 Javascript 有类似 C 的句法风格,但是它并不强制在代码中使用分号,所以分号可能被省略。Javascript 并不是一个缺少分号的语言,实际上,它需要分号来解析代码。因此当 Javascript 解析器遇到缺少分号而导致错误时会自动插入分号。

细说 Javascript 拾遗篇(二) : undefined 和 null

2014-05-19
阅读 3 分钟
4k
undefined 是一种值为 undefined 的变量类型。Javascript 还定义了一个全局变量 undefined,它的值就是 undefined,然而这个变量既不是常量也不是 Javascript 的关键字。这就意味着这个变量的值可以被重新赋值。

细说 Javascript 拾遗篇(一) : 远离 eval 函数

2014-05-18
阅读 1 分钟
8.7k
定时函数 setTimeout 和 setInterval 函数都可以接受字符串作为自己的第一个参数。在全局作用域下,这个字符串会一直被执行,在这个情形下我们并没有直接调用 eval 函数,也可以执行字符串。

细说 Javascript 类型篇(四) : 类型转换

2014-05-17
阅读 2 分钟
2.9k
为了避免以上例子中的问题,十分建议使用严格相等符号 ===。虽然这个方法可以解决大部分普遍的问题,但是由于 Javascript 的弱类型原因,还是会造成许多其他的问题。

细说 Javascript 类型篇(三) : instanceof 操作符

2014-05-15
阅读 1 分钟
3.7k
Javascript 的 instanceof 操作符可以用来比较两个操作数的构造函数 constructor。但这个只有在比较自定义对象才有意义。当用来比较 Javascript 内置的对象时就如同上篇介绍的操作符 typeof 一样用处不大。

细说 Javascript 类型篇(二) : typeof 操作符

2014-05-14
阅读 2 分钟
4.8k
typeof 操作符(还有 instanceof)可能是 Javascript 设计中最大缺陷,因为它几乎是完全破损的。由于 typeof 用法与调用函数的语法相似,因此常被误以为是函数调用,实际上并不存在名为 typeof 的函数,typeof 只是一个操作符而已。 尽管 instanceof 仍然还有少数的应用场景,typeof 则只有一个实际的用途,但这个用途不...

细说 Javascript 类型篇(一) : 相等和比较

2014-05-13
阅读 2 分钟
3.6k
上面的代码展示了类型转换的结果,因此我们知道使用相等符号 == 是个不好的编程习惯。由于 Javascript 中复杂的类型转换机制,将会使得由此产生的错误变得难以追踪。 此外,类型的强制转换会对性能也造成一定的影响,例如,当一个字符串与数字进行比较时,会被强制转换为数字。

细说 Javascript 数组篇(二) : 数组的构造函数和常见操作

2014-05-08
阅读 3 分钟
5k
当只有一个参数被传递到数组的构造函数中,并且这个参数还是一个数字时,构造函数将会返回一个元素值为 undefined 的数组,而且这个数组的 length 属性被设置为传入构造函数的数字参数。但实际上上新数组的索引并没有被初始化。

细说 Javascript 数组篇(一) : 数组的遍历和 length 属性

2014-05-05
阅读 1 分钟
13.7k
尽管数组在 Javascript 中是对象,但是不建议使用 for in 循环来遍历数组,实际上,有很多理由来阻止我们对数组使用 for in 循环。 因为 for in 循环将会枚举原型链上的所有属性,并且唯一阻止的方法是使用 hasOwnProperty 来判断,这将比普通的 for 循环要慢不少。

细说 Javascript 函数篇(六) : 作用域与命名空间

2014-05-03
阅读 4 分钟
4.6k
Javascript 中也没有显示的命名空间,这就意味着一切都定义在全局作用域中。每一次引用一个变量时,Javascript 会往上遍历整个全局作用域直到找到该变量。如果遍历完整个全局作用域仍然没有找到该变量,则抛出一个 ReferenceError 错误。

详解 CSS 属性 - 优先级问题

2014-05-02
阅读 2 分钟
5k
当你将一个样式添加到元素上却发现不起作用时,那就是遇到优先级问题了。那么应该如何处理 CSS 优先级问题呢,下面我总结了一些解决 CSS 优先级问题的常用法则。

细说 Javascript 函数篇(五) : 构造函数

2014-04-30
阅读 2 分钟
3k
Javascript 中的构造函数与其他语言相比也是不同的。任何通过关键字 new 调用的函数都可以当做构造函数。 在构造函数体内,this 指向新创建的对象。如果构造函数体内没有显示的 return 表达式,那么我们就默认返回 this,也就是新建的对象。