05 2011 档案
摘要:###Ready函数接下来回到最开始的jQuery.extend函数(268行)中的ready(fn)的定义。这个函数用来处理DOM加载完成的事件。差不多是jQuery最常用的函数之一了。这个功能在jQuery的[文档](http://api.jquery.com/ready)中提到了三种等价的形式:// 定义在jQuery.fn.ready$(document).ready(handler);// 和上一个是同一个,不推荐$().ready(handler);// 单独在jQuery对象中处理$(handler);// 以上这个形式的定义:if(jQuery.isFunction(selec
阅读全文
摘要:###Deferred机制从1.5版本开始,jQuery加入了Deferred功能,让事件处理队列更加的完善。并用这个机制重写了Ajax模块。虽然还没轮到Ajax,但是接下来的事件处理函数中牵扯到了这个机制,所以提前看这段代码。Deferred把回调函数注册到一个队列中,统一管理,并且可以同步或者异步地调用这些函数。jQuery.Deferred()用来构造一个Deferred对象。该对象有状态值,共有三种:Rejected, Resolved和初始状态。其中Resolved表示该操作成功完成了,而Rejected则表示出现了错误,调用失败。Deferred对象的主要成员如下:* done(c
阅读全文
摘要:趁着中午休息,看了一下博客园的高亮。原来也是用Javascript在客户端渲染的。那用自定义脚本替换一下就可以了。这是可以和Markdown混合的标记,用pre元素包含代码,然后用class指定语言种类即可<pre class="javascript">function f() {}</pre>然后用脚本把这个class替换成博客园使用的高亮class就可以了。同时也不影响Markdown标记。$("#cnblogs_post_body pre").each(function() { var language = $(this).
阅读全文
摘要:周末[地狱伞兵](http://www.cnblogs.com/chenxumi)发布了一篇文章,用Markdown发布博客。其中使用了自己的JS版解析器。今天特意去找了一个完整的JavaScript版Markdown解析器:Showdown.js。上传js后,发现园子的编辑器是不能直接用src方式链接脚本。必须写到自定义HTML页头中。下面是Markdown测试:#第一级标题 ##第二级标题 _斜体_ [我的博客链接](http://fjzhou.cnblogs.com) 因为这个效果是把脚本加到帖子头部的,所以你进入帖子之后才能看到Markdown效果。而在首页的摘要上还是能看到原始的Ma
阅读全文
摘要:变量列表在初始化jQuery对象的代码开始之前声明了一大堆变量。主要包括:全局变量的备份;处理字符串用的正则表达式;检测浏览器的正则表达式;对核心函数的引用备份。这里略过大部分,只说两种:全局变量和浏览器检测。_jQuery=window.jQuery;_$=window.$;这两个变量是jQuery唯一使用的两个全局变量。在jQuery.noConflict()函数中,会把这两个变量恢复回去。对于浏览器检测,jQuery使用的是检查UserAgent,而没有使用特性检测。rwebkit=/(webkit)[\/]([\w.]+)/,ropera=/(opear)(?:.*version)?[
阅读全文
摘要:简介jQuery最新版本1.6.1的时间戳2011年5月12日。开发未压缩版本229KB,共8937行代码。jQuery的宗旨是WriteLess,DoMore。它对JavaScript的开发风格侵入性不如YUI那么强,当然也不如Dojo和YUI如此庞大。它极大的简化了JavaScript的日常开发工作,主要是DOM元素的操作(从名字Query就可以看出)。另外一个主要工作就是每个前端开发者都需要面对的浏览器兼容性。jQuery兼容所有主流浏览器的大部分版本,从万恶的IE6开始直到Firefox,Chrome等现代浏览器。除了居于核心的一小部分代码之外,剩下的jQuery都是松散的函数,扩展性
阅读全文