您好,欢迎访问一九零五行业门户网

驱动事件的addEvent.js代码_javascript技巧

复制代码 代码如下:
array.prototype.inarray = function (value) { 
    var i; 
    for (i=0; 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);
其它类似信息

推荐信息