今天是 jQuery 的第二个生日,也是 1.2.2 版发布的日子。
与 1.2.1 版相比,这个新版不仅修正了 120 处 bug,而且还在原来的基础上进行了大量的优化和测试工作。更令人激动的是:$(DOMElement) 选择器的速度提高了 300%,改进的 .ready(),添加了对新的鼠标事件 .bind(”mouseenter”) 和 .bind(”mouseleave”) 以及滚轮 .bind(”mousewheel”) 的支持,另外还有 :not() 和新的事件 API 等等。
(via jQuery Blog)
在很多情况下,我们使用 window.onload 事件判断页面加载完成,注意:不是 DOM。这里就会有一个问题,我们编写的 JS 代码将会在页面上所有元素加载完成之后才开始执行。打个比方,你在网页上使用了一个用来调整外观的 JS,而此刻恰好网络状况不太好,那么用户很可能在漫长地等待页面中所有图片下载完成或超时之后,才能看到脚本调整后的新外观,而在这之前,你的页面外观可能会比较尴尬。
熟悉 jQuery 的朋友知道 $(document).ready 的好处就在这里,它只等待 DOM 加载完成,而不是页面。不过我们不可能做任何应用都引入略显庞大的 jQuery 框架,所以就有国外的大牛写了这个压缩后只有 617 字节的东西:addDOMLoadEvent。本来想亲自写一大段话解释解释这个东东,却 Google 出了别人早写好的,简体中文,有兴趣的直接跳转过去看吧。
阅读全文 - 456 字
写点废话当作前言
今天花了点时间在自己的 blog 上实现了非插件式的 Ajax 留言功能,当然,还是基于我们很好很强大的 jQuery 框架。基本思路就是利用 jQuery 的 Ajax API 把留言数据提交给 comments-ajax.php 完成留言,我们分三步实现,第一步要先改造 comments.php,第二步实现 jQuery 代码,第三步编写一个 comments-ajax.php 用来接收留言数据并完成对 WP 数据库的操作。
改造 comments.php
阅读全文 - 1950 字
在之前的(续)中,我借助插件为外部链接加上了 rel="external" 这个标签,然后再通过 jQuery 为其添加 class="external",忘了当初为什么要这样做了(我确定是有理由的),事后发现在每篇日志的留言部分,rel="external" 会与 WP 自动为链接加上的 rel="nofollow" 标签发生冲突,因为同一元素不允许同时存在两个 rel 标签。
想了几种办法:插件处理 DOM 不太现实、用正则表达式判断是否有 rel="nofollow",如有,将其改为 rel="nofollow external" 过于复杂会影响效率、修改 WP 默认添加 rel="nofollow" 的方式等等,都不合适。
阅读全文 - 394 字
看到有朋友需要修改之后的 Alexa 转向插件,由于修改简单并且此功能并不属于原插件,所以我没有另发新版,需要修改的朋友请看下面的方法:(基于 Arctic's Internal Alexa Redirect 1.1 版)
我们只需要修改 wp_lzw_parse_external_links 函数的一行代码,直接复制下面的函数将插件的相应部分替换掉就可以了:
阅读全文 - 1020 字
XHTML 1.0 Strict 以上(含)的 W3C 标准已经不再支持 target='_blank' 这一非常好用的属性,这一改变很叫完美主义的网页设计者头疼。许久之前,我写过一篇文章介绍使用 jQuery 打开新窗口的方法,但没有亲自体验过;现在,我已经在这里实现了,将所有的外部链接加上了图标,并默认以“新窗口/标签”方式打开,原理相同,方法有一点改进。(via Barry Jaspan)
先前的方法需要手工为每一个你想让它以新窗口方式打开的链接(如:外部链接)添加名为 "new-window" 的 class,不用说也想得到,这项工程是多么浩大,简直可以跟秦始皇年间修长城的工程量媲美,并且一定会出现相当数量的漏网之鱼——总之,这个方法不可取。
阅读全文 - 768 字
喜欢上 jQuery 了,今天花了好多时间在它上面,由于我的 JavaScript 底子很薄,往往遇到一些很弱智的问题都要很久才能搞定,不过总算有点长进了。
利用 jQuery 稍稍改进了下 WP 主题的 comments 模板,目前只是弄得漂亮了点,更实用的功能还处于摸索阶段,得过些时候才能实现;改进了下 Arctic's Internal Alexa Redirect 插件,但是产生了一个小 bug,快速连续点击同个链接会导致转向失败,有待解决;此外还学习了下 jQuery 的特效。
我对它的评语只有五个字:很好很强大。
阅读全文 - 334 字
jQuery 真是个强大的东西,今天看到花儿这篇文章的时候还本能地抗拒了一下。为了提高 blog 的访问速度,我一直不愿意加载除必须的 JavaScript 和 CSS 以外的东东。正所谓“闭关就要落后”,当我开始感觉到自己正在变得越来越无知时,我毅然决定即刻学习 jQuery。
我看的是 Realazy 的这篇“小教程”,我照着做,可没想到这么简单的代码都费了半天劲,小括号、中括号、大括号像刚闭幕没多久的某大会代表似的,全体出席好不热闹,害我写起来那个累啊,再加上我的 Ubuntu 只有可怜的 gedit,想检查括号究竟是哪个跟哪个闭合都成问题,迫切需要一个 Linux 环境下的 UltraEdit!
阅读全文 - 436 字