2008-05-07 21:28:34
摘要:源码
/* ******************************************************************* */
/* EVENT FUNCTIONS */
/* ******************************************************************* */
var Event = (function() {
var ev = {};
//阻止事件冒泡
ev.stopBubble = function(e) {
// 如果传入了事件对象,那么就是非IE浏览器
if (e)
// 因此它支持W3C的stopPropagation
e.stopPropagation();
else
// 否则,我们得使用IE的方式取消事件冒泡
window.event.cancelBubble = true;
};
//防止发生默认浏览器行为
ev.stopDefault = function(e) {
// 防止默认浏览器行为(W3C)
if (e) e.preventDefault();
// IE中防止浏览器行为的捷径
return false;
};
//
// 由 Dean Edwards 所编写的addEvent/removeEvent 2005
// 由Tino Zijdel整理
// http://dean.edwards.name/weblog/2005/10/add-event/
ev.addEvent = function(element, type, handler) {
//为每个事件处理函数赋予一个独立的ID
if (!handler.$$guid) handler.$$guid = ev.addEvent.guid++;
//……
阅读全文
2008-05-06 23:33:23
摘要:源码
/* ******************************************************************* */
/* DOM FUNCTIONS */
/* ******************************************************************* */
var DOM = (function() {
var dom = {};
//查找相关元素的前兄弟元素
dom.prev = function(elem) {
do {
elem = elem.previousSibling;
} while (elem elem.nodeType != 1);
return elem;
};
//查找相关元素的后兄弟元素
dom.next = function(elem) {
do {
elem = elem.nextSibling;
} while (elem elem.nodeType != 1);
return elem;
};
//查找第一个子元素
dom.first = function(elem) {
elem = elem.firstChild;
return elem elem.nodeType != 1 ? nextSibling(elem) : elem;
};
//查找最后一个子元素
dom.last = function(elem) {
elem = elem.lastChild;
return elem elem.nodeType != 1 ? prevSibling(elem) : elem;
};
//查找父元素
dom.parent = function(elem, num) {
num = nu……
阅读全文
2008-05-05 23:33:45
摘要:源码
/**
* Copyright (c)2008 xiaosuo
*/
/* ******************************************************************* */
/* UTIL FUNCTIONS */
/* ******************************************************************* */
var Util = { 'VERSION':1.1 };
//获取id
function id(name) {
return document.getElementById(name);
}
//获取指定元素
function tag(name, elem) {
// 如果不提供上下文元素,则遍历整个文档
return (elem || document).getElementsByTagName(name);
}
//判断对象是否存在
function defined(o) {
return (typeof (o) != undefined);
}
/* ******************************************************************* */
/* OBJECT FUNCTIONS */
/* ******************************************************************* */
var Obj = (function() {
var object = {};
//检查是否是对象
object.isObject = function(o) {
return (o != null typeof (o) == object defined(o.constructor) o.constructor == Object !defined(o.nodeName)……
阅读全文