base2.DOM
如果说ppk是浏览器的测试专业户,那么Dean Edwards就是浏览器的技术解决专业户。自从出了一批成为众多框架/库的参考,如IE7, cssQuery, Base等,沉寂了一段时间,终于,有新料放出了:base2.DOM。
他还挺诙谐,标题叫做Yet Another JavaScript Library Without Documentation,对,世界上又一个没有文档的JavaScript库诞生了……
没有文档难道是光荣的?非也,因为base2.DOM遵循W3的标准(甚至包括草案),文档就散落在这些标准中。另外,遵循标准,让您的代码future-proof ! 这是最大的意义所在。现在满世界的框架/库,每种都有自己的特色API,命名方式千奇百怪,未见得对开发者友好。base2.DOM使用标准的API命名,不仅友好,而且,现在你就可以进入未来,难道你不想在IE上能使用forEach, DOMContentLoaded?Just have a try…
Dean的原文浅显易懂,我也不掺和什么了,特色请看原文的Highlights。总而言之,这些标准的API不用怕找不着文档,一般都可以在 Mozilla Developer Center上找到答案,大部分还有例子。
使用它,你不必像其他库一样必须按照它的方式来写js,你可以写出最raw的js。
使用它写了个拖放的例子作为练习,标准的方式让人心情愉快:http://realazy.org/lab/base2/dragsort.html

March 25th, 2007 at 20:35
对那个示例有个建议:把2和3的位置换一下。
March 26th, 2007 at 09:39
IE6下貌似没有效果,一拖动就变成了选择了。。
FF下测试没问题。
March 26th, 2007 at 18:19
最近研究·jQuery
March 29th, 2007 at 17:25
在IE6下,没有效果,是下面这个方法有问题
base2.DOM.HTMLElement.prototype.hide = function(){//document.defaultView has bugs in base2.DOM, so I use currentStyle Here
var curDisplay = this.currentStyle ? this.currentStyle['display'] : document.defaultView.getComputedStyle(this, null).getPropertyValue(’display’);
if (curDisplay != ‘none’) this.$oldDisplay = curDisplay;
this.style.display = ‘none’;
}
March 31st, 2007 at 13:12
IE下拖动没有效果,希望博主改改