10 2010 档案
摘要:事件检测,即检测某一事件在不同的浏览器中是否存在(可用),这在编写Javascript的过程中也非常重要,如mouseenter/mouseleave事件虽然实用,但并不是所有浏览器都提供了标准的支持,因此需要自己手动模拟,即:
function addEvent(element, name, handler) {
if (name == 'mouseenter' && !hasEvent(name, element)) {
//通过其他手段模拟mouseenter事件
}
//正常的事件注册
};
本文就重点讲述以上代码中hasEvent的具体实现。
阅读全文
摘要:浏览器特性检测即通过探测对象是否拥有某个属性或者函数,或者通过其他的编码探测方式,来决定其是否支持某一功能、特性。其最经典的运用莫过于通用的addEvent函数:函数可以通过检测attachEvent函数是否存在,以决定使用attachEvent或者addEventListener,这也是最简单的一种特性检测,因而通常在需要时才进行实时的检测。另一种特性检测由于检测的过程较为麻烦,因此会预先完成检...
阅读全文
摘要:针对jQuery、Ext、KISSY三者类库的对比及分析已经很多了,但多数是从功能和设计的角度切入,因此本篇文章决定换一个特殊的角度,从各类库的顶层对象名的键盘输入的体验上来对这三个类库进行比较。由于顶级对象是使用类库几乎所有功能的入口,在编码中会频繁地输入这几个字符,因此在设计类库时,顶级对象名输入的简便性也是相当重要的。在此将从对象名称的长度、输入对象名称的按键顺序这两个方面对三个类库进行重点...
阅读全文