驱动事件的addEvent.js代码

时间:2007-03-27    点击:105   

复制代码 代码如下:

Array.prototype.inArray = function (value) { 
    var i; 
    for (i=0; i < this.length; i++) { 
        if (this[i] === value) { 
            return true; 
        } 
    } 
    return false; 
}; 

function addEvent( obj, type, fn ) { 
    if (obj.addEventListener) { 
        obj.addEventListener( type, fn, false ); 
        EventCache.add(obj, type, fn); 
    } 
    else if (obj.attachEvent) { 
        obj["e"+type+fn] = fn; 
        obj[type+fn] = function() { obj["e"+type+fn]( window.event ); } 
        obj.attachEvent( "on"+type, obj[type+fn] ); 
        EventCache.add(obj, type, fn); 
    } 
    else { 
        obj["on"+type] = obj["e"+type+fn]; 
    } 


var EventCache = function(){ 
    var listEvents = []; 
    return { 
        listEvents : listEvents, 
        add : function(node, sEventName, fHandler){ 
            listEvents.push(arguments); 
        }, 
        flush : function(){ 
            var i, item; 
            for(i = listEvents.length - 1; i >= 0; i = i - 1){ 
                item = listEvents[i]; 
                if(item[0].removeEventListener){ 
                    item[0].removeEventListener(item[1], item[2], item[3]); 
                }; 
                if(item[1].substring(0, 2) != "on"){ 
                    item[1] = "on" + item[1]; 
                }; 
                if(item[0].detachEvent){ 
                    item[0].detachEvent(item[1], item[2]); 
                }; 
                item[0][item[1]] = null; 
            }; 
        } 
    }; 
}(); 
addEvent(window,'unload',EventCache.flush);

对YUI扩展的Gird组件 Part-2
对YUI扩展的Gird组件 Part-1
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
学习YUI.Ext 第七天--关于View&JSONView
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved