Spiga

标签为JS的文章

自制原生js工具库——Event篇

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++;        //…… 阅读全文

自制原生js工具库——DOM篇

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…… 阅读全文

自制原生js工具库——基础篇

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)…… 阅读全文