多语言展示
当前在线:953今日阅读:84今日分享:32

javascript常用方法函数收集(二)

总结了下 javascript中常用方法函数的收集,内容比较多, 写成了多篇!(大牛可直接忽略)
方法/步骤
1

动态加载脚本文件function appendscript(src, text, reload, charset) {    var id = hash(src + text);    if(!reload && in_array(id, evalscripts)) return;    if(reload && $(id)) {        $(id).parentNode.removeChild($(id));    }     evalscripts.push(id);    var scriptNode = document.createElement('script');    scriptNode.type = 'text/javascript';    scriptNode.id = id;    scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);    try {        if(src) {            scriptNode.src = src;            scriptNode.onloadDone = false;            scriptNode.onload = function () {                scriptNode.onloadDone = true;                JSLOADED[src] = 1;             };             scriptNode.onreadystatechange = function () {                 if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) {                    scriptNode.onloadDone = true;                    JSLOADED[src] = 1;                }             };        } else if(text){            scriptNode.text = text;        }        document.getElementsByTagName('head')[0].appendChild(scriptNode);    } catch(e) {}}

2

返回按ID检索的元素对象function $(id) {    return !id ? null : document.getElementById(id);}

3

跨浏览器绑定事件function addEventSamp(obj,evt,fn){    if(!oTarget){return;}    if (obj.addEventListener) {        obj.addEventListener(evt, fn, false);    }else if(obj.attachEvent){        obj.attachEvent('on'+evt,fn);    }else{        oTarget['on' + sEvtType] = fn;    }}

4

跨浏览器删除事件function delEvt(obj,evt,fn){    if(!obj){return;}    if(obj.addEventListener){        obj.addEventListener(evt,fn,false);    }else if(oTarget.attachEvent){        obj.attachEvent('on' + evt,fn);    }else{        obj['on' + evt] = fn;    }}

5

为元素添加on方法Element.prototype.on = Element.prototype.addEventListener; NodeList.prototype.on = function (event, fn) {、    []['forEach'].call(this, function (el) {        el.on(event, fn);    });    return this;};

6

为元素添加trigger方法Element.prototype.trigger = function (type, data) {    var event = document.createEvent('HTMLEvents');    event.initEvent(type, true, true);    event.data = data || {};    event.eventName = type;    event.target = this;    this.dispatchEvent(event);    return this;}; NodeList.prototype.trigger = function (event) {    []['forEach'].call(this, function (el) {        el['trigger'](event);    });    return this;};

推荐信息