jQuery 1.2.6 发布

2008年5月25日 – 19:33

这回紧急修正了2个BUG的
主要是内核上的val的问题,用val设置 select的时候有时候会出问题。
一个是attr问题,导致了Validate插件的崩溃

有条件么,升级一下吧。

http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.pack.js
http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.js

jQuery 1.2.5 发布

2008年5月22日 – 11:58

前几天发布了1.2.4,结果没过一天就发布了1.2.5
而实际访问SVN会发现两个版本之间,jQuery主体丝毫没有什么变化过。
我就纳闷了。jQuery搞什么飞机啊……

http://docs.jquery.com/Release:jQuery_1.2.5
发布信息里只有一条:jQuery 1.2.5 was available only one day after 1.2.4

囧……

然后就引导我们看1.2.4的发布记录:
http://docs.jquery.com/Release:jQuery_1.2.4

可以找到如下网址:
http://www.nabble.com/1.2.4-missing-patches–td17354452s27240.html

里边提到,看来是john的电脑貌似有点冲突,所以make坏了。做了一个bad build。
缺了http://dev.jquery.com/ticket/2567这个补丁。
而现在他正在外面游山玩水~~~大概12天后回来

好了,那就用1.2.5吧。修正了众多Bug
下载地址:
Minified, Packed, Uncompressed

全国哀悼三天,网站变灰滤镜

2008年5月19日 – 11:33

这句CSS,调用windows的滤镜,for ie only
全站变灰

让我们为逝者哀悼,为生者祈福……

用jQuery 选择器选取包含特殊字符的元素

2008年5月18日 – 00:14

当使用jQuery选择器的时候,如果id里包含#:[]之类的特殊的符号,或者xml里有如这样的,一般情况下是无法选到的。
这个时候可以使用一些技巧来选择相关的内容。
使用转义字符,并且使用两个\即可
比如要选择id为a:1的元素
可以写成$("#a\\:1")。
当然也可以写作$("[id=a:1]")。
当然,效率哪个高大家都知道~
而且,如果要处理XML的话就没这么容易了。

这种,只需要$("adb\\:aaa")即可

具体实现原理么,不是很明白。以前wzmaodong写表单验证的时候也出现过类似的问题。所以这回才想起来的。

他的解释是“采用的是显式构造函数new RegExp("pattern"[,"flags"]); 由于Javascript 中'\' 被用作转义字符,所以在使用显示构造函数构造实例对象的时候,需要使用'\\' 代替'\'”

但是我就纳闷了,我一个选择器难道jQuery内部也做正则去了么?明明是被正则解析啊。迷茫了。

[html]

fail

[/html]

精通JavaScript读书感想

2008年5月14日 – 20:18

这本书英文名是Pro JavaScript Techniques。是jQuery之父John Resig所写的。
书中的内容确实比较高级些,并非如犀牛书般的只是基础而已。
这本书看下来的感觉就是:果然是JQ之父写的!
为什么这样说呢,因为这本书可以说是JQ的源码解读。这里的很多篇幅都可以看做JQ的一些方法的原型实现。
包括选择器,attr,insert,append,remove等,还有event注册等方法。
如果你想要体会JQ是如何炼成的,看这本书是最好不过的了,对于你对JS的理解会上一个层次,了解JQ编写的原理,体会到大师的想法。
当然看了这个之后自然就看到了大师的师傅,Dean Edwards,这个牛人就是著名的JS压缩利器parker的作者。他写的cssQuery可以说是jQuery的最初的想法。但我们的John Resig很快发现光是选择器,比不过cssQuery,但是封装更丰富的操作那是很好很美妙的事情。

同时,这本书也介绍了一些未来的javascript 1.6/1.7.
这些已经在Firefox中完全实现了(1.6在FF1.5以上,1.7在FF2以上,1.8在FF3以上)。有兴趣的可以参考这里。这里不光有1.6.1.7,还有1.8的参考。(部分英文)
另外,
期待着下面的语句

var a=

最后,为地震灾区所有人民祈福……

jQuery JSON 简单demo

2008年5月9日 – 00:10

今日整了半天好不容易把json搞定。。。。
发帖留念一下。。。。
demo地址:http://shawphy.com/demo/json/json.html

估计是一开始json 格式没搞对,

[quote]{
"addressbook": {
"name":"peter",
"address":{
"city":"New York",
"street":"abc rd",
"no":"1"
}
}
}[/quote]

服务器端只管输出一个字符串即可,不用关心什么contentType啥的。

[quote] $(function() {
$("#gj").click(function() {
$.getJSON("json.asp",function(json) {
alert(json.addressbook.address.city);
})
});
$("#aj").click(function() {
$.ajax({
type:"post",
url:"json.asp",
dataType:"json",
data:{abc:"ab"},
success:function(json) {
alert(json.addressbook.name);
},
error:function() {
alert("error");
}
});
});
})
[/quote]

jQuery UI 1.5b4 发布

2008年5月7日 – 11:31

原文:
http://jquery.com/blog/2008/05/05/jquery-ui-15b4-featuring-effects-and-a-new-home/

近日1.5的b4发布了,看发布日志来看,貌似先发布了b3,结果发现恶性bug,于是没几个小时又发布了b4,跳过了b3了。
据声称,已经修复了50多个bug,还剩下5个主要的bug修复就好了。这个版本将是最后的测试版了,再过几天就能发布正式版了。

还有,jQuery Enchant 也会成为jQuery UI的一部分,提供了很多新的动画特效。据说要提供15种特效,包括了script.aculo.us中的一些(blind,bounce,drop,fold,slide …),还有些新的(transfer, explode. clip, scale)

同时,http://ui.jquery.com的页面也重新做过了。果然是比以前好看了不少,(虽然以前也不错)。不过,jQuery UI依然感觉不是很好用。。。而且也不是很漂亮。。。唉。。。。难道真的要用ext去么。。。

下载地址:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery.ui-1.5b4.zip

jQuery的浏览器兼容性策略

2008年5月3日 – 01:43

之前写过一篇日志(http://shawphy.com/article.asp?id=34),说FF没有cancelBubble,所以要做兼容,其实多虑了,JQ已经为我们做好兼容性了。
也就是说,要阻止冒泡,直接使用
$("a").click(function(e) {
e.stopPropagation();
})
这样即可。
她还修正了preventDefault ,target ,relatedTarget,pageX/Y,event.which(确定按了键盘或者鼠标上的哪个按键。)

多的不说,大家自己看代码吧(jQuery 1.2.3 /line:2093-2149)

[quote] fix: function(event) {
// store a copy of the original event object
// and clone to set read-only properties
var originalEvent = event;
event = jQuery.extend({}, originalEvent);

// add preventDefault and stopPropagation since
// they will not work on the clone
event.preventDefault = function() {
// if preventDefault exists run it on the original event
if (originalEvent.preventDefault)
originalEvent.preventDefault();
// otherwise set the returnValue property of the original event to false (IE)
originalEvent.returnValue = false;
};
event.stopPropagation = function() {
// if stopPropagation exists run it on the original event
if (originalEvent.stopPropagation)
originalEvent.stopPropagation();
// otherwise set the cancelBubble property of the original event to true (IE)
originalEvent.cancelBubble = true;
};

// Fix target property, if necessary
if ( !event.target )
event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either

// check if target is a textnode (safari)
if ( event.target.nodeType == 3 )
event.target = originalEvent.target.parentNode;

// Add relatedTarget, if necessary
if ( !event.relatedTarget && event.fromElement )
event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;

// Calculate pageX/Y if missing and clientX/Y available
if ( event.pageX == null && event.clientX != null ) {
var doc = document.documentElement, body = document.body;
event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);
event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);
}

// Add which for key events
if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )
event.which = event.charCode || event.keyCode;

// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
if ( !event.metaKey && event.ctrlKey )
event.metaKey = event.ctrlKey;

// Add which for click: 1 == left; 2 == middle; 3 == right
// Note: button is not normalized, so don't use it
if ( !event.which && event.button )
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));

return event;
},
[/quote]

多行正则替换子目录中HTML注释中的内容

2008年4月26日 – 04:59

在虚拟机里的XP里写的,用于替换当前目录的子目录中HTML文件中特定的一段,用注释包起来的。
最近做个项目菜单导航很麻烦,页面非常多,但又是纯静态的,超麻烦。所以写个来以后批量改菜单导航。当然也是因为我不喜欢用DW,而拼死用EP手工写代码的“恶果”。DW有模板的……

这个东西用了我当年写大ass2str的样式~
正则用了JS,文件读写用VBS,请用文本编辑器保存为wsf后双击执行(windows scripting file)
for win only。Linux达人我就对不住了。

[quote]



/*
* 批量修改子目录中HTML的目录
*
* Copyright (c) 2008 Shawphy (shawphy.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* $Date: 2008-04-26 02:51:33 +0800
* $Rev: 1 $
*
*当前文件夹下子目录中的所有HTML文件中
*
*之间的内容都将被替换成
*当前文件夹下menu.txt文件的内容
*
*注:要求所有文件为utf-8编码
*
*/
]]>





[/quote]
JS写正则就是爽啊,VBS写文件读写也很爽~上面那个wsf文件还符合xml标准呢~

今日Ubuntu

2008年4月26日 – 04:53

昨日下载下来,急忙装下,今天一天都在整这玩意
用下来不得不说比之前其他大几个发行版好很多。apt-get超级方便阿~~~
感谢世界各地提供的源

用到最后不得不说,我这搞前台的没办法用LINUX,为啥,因为里边没IE……
我费了好大的劲给安了个ies4linux,结果运行速度实在不令人满意,毕竟基于wine的啊……
不过基本大功能都能实现了,网银啊,支付宝都恩用了。

心不死,干脆按个虚拟机玩,就按出了个virtualbox。小有波折,不过还是可以了,
居然跟scim冲突,努力就卸载了,现在用fcitx呢。

有了WINXP,自然有了IE6/7,还有我钟爱的EDITPLUS阿……
写前台的总不能就窝在LINUX的FF下过日子吧,肯定没多久被炒鱿鱼了……

基本上更多的一时也没法体会,暂时就写到这里。