封装cookie.js、EventUtil.js、
生活随笔
收集整理的這篇文章主要介紹了
封装cookie.js、EventUtil.js、
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近學(xué)習(xí)了javascript,封裝好的東西看起來舒服,以備需要的時候拉出來,jquery對javascript做了很好的封裝!以后會多用jquery多些
var CookieUtil = {get: function (name){var cookieName = encodeURIComponent(name) + "=",cookieStart = document.cookie.indexOf(cookieName),cookieValue = null,cookieEnd;if (cookieStart > -1){cookieEnd = document.cookie.indexOf(";", cookieStart);if (cookieEnd == -1){cookieEnd = document.cookie.length;}cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));} return cookieValue;},set: function (name, value, expires, path, domain, secure) {var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);if (expires instanceof Date) {cookieText += "; expires=" + expires.toGMTString();}if (path) {cookieText += "; path=" + path;}if (domain) {cookieText += "; domain=" + domain;}if (secure) {cookieText += "; secure";}document.cookie = cookieText;},unset: function (name, path, domain, secure){this.set(name, "", new Date(0), path, domain, secure);}};
/*SubCookieUtil.js*/
var SubCookieUtil = {
??? get: function (name, subName){
??????? var subCookies = this.getAll(name);
??????? if (subCookies){
??????????? return subCookies[subName];
??????? } else {
??????????? return null;
??????? }
??? },
?? ?
??? getAll: function(name){
??????? var cookieName = encodeURIComponent(name) + "=",
??????????? cookieStart = document.cookie.indexOf(cookieName),
??????????? cookieValue = null,
??????????? cookieEnd,
??????????? subCookies,
??????????? i,
??????????? parts,
??????????? result = {};
?????????? ?
??????? if (cookieStart > -1){
??????????? cookieEnd = document.cookie.indexOf(";", cookieStart)
??????????? if (cookieEnd == -1){
??????????????? cookieEnd = document.cookie.length;
??????????? }
??????????? cookieValue = document.cookie.substring(cookieStart + cookieName.length, cookieEnd);
?????????? ?
??????????? if (cookieValue.length > 0){
??????????????? subCookies = cookieValue.split("&");
?????????????? ?
??????????????? for (i=0, len=subCookies.length; i < len; i++){
??????????????????? parts = subCookies[i].split("=");
??????????????????? result[decodeURIComponent(parts[0])] = decodeURIComponent(parts[1]);
??????????????? }
?? ?
??????????????? return result;
??????????? } ?
??????? }
??????? return null;
??? },
?? ?
??? set: function (name, subName, value, expires, path, domain, secure) {
?? ?
??????? var subcookies = this.getAll(name) || {};
??????? subcookies[subName] = value;
??????? this.setAll(name, subcookies, expires, path, domain, secure);
??? },
?? ?
??? setAll: function(name, subcookies, expires, path, domain, secure){
?? ?
??????? var cookieText = encodeURIComponent(name) + "=",
??????????? subcookieParts = new Array(),
??????????? subName;
?????? ?
??????? for (subName in subcookies){
??????????? if (subName.length > 0 && subcookies.hasOwnProperty(subName)){
??????????????? subcookieParts.push(encodeURIComponent(subName) + "=" + encodeURIComponent(subcookies[subName]));
??????????? }
??????? }
?????? ?
??????? if (subcookieParts.length > 0){
??????????? cookieText += subcookieParts.join("&");
?????????????? ?
??????????? if (expires instanceof Date) {
??????????????? cookieText += "; expires=" + expires.toGMTString();
??????????? }
?????? ?
??????????? if (path) {
??????????????? cookieText += "; path=" + path;
??????????? }
?????? ?
??????????? if (domain) {
??????????????? cookieText += "; domain=" + domain;
??????????? }
?????? ?
??????????? if (secure) {
??????????????? cookieText += "; secure";
??????????? }
??????? } else {
??????????? cookieText += "; expires=" + (new Date(0)).toGMTString();
??????? }
?? ?
??????? document.cookie = cookieText;?????? ?
?? ?
??? },
?? ?
??? unset: function (name, subName, path, domain, secure){
??????? var subcookies = this.getAll(name);
??????? if (subcookies){
??????????? delete subcookies[subName];
??????????? this.setAll(name, subcookies, null, path, domain, secure);
??????? }
??? },
?? ?
??? unsetAll: function(name, path, domain, secure){
??????? this.setAll(name, null, new Date(0), path, domain, secure);
??? }
};
var EventUtil = {addHandler: function(element, type, handler){if (element.addEventListener){element.addEventListener(type, handler, false);} else if (element.attachEvent){element.attachEvent("on" + type, handler);} else {element["on" + type] = handler;}},getButton: function(event){if (document.implementation.hasFeature("MouseEvents", "2.0")){return event.button;} else {switch(event.button){case 0:case 1:case 3:case 5:case 7:return 0;case 2:case 6:return 2;case 4: return 1;}}},getCharCode: function(event){if (typeof event.charCode == "number"){return event.charCode;} else {return event.keyCode;}},getClipboardText: function(event){var clipboardData = (event.clipboardData || window.clipboardData);return clipboardData.getData("text");},getEvent: function(event){return event ? event : window.event;},getRelatedTarget: function(event){if (event.relatedTarget){return event.relatedTarget;} else if (event.toElement){return event.toElement;} else if (event.fromElement){return event.fromElement;} else {return null;}},getTarget: function(event){return event.target || event.srcElement;},getWheelDelta: function(event){if (event.wheelDelta){return (client.engine.opera && client.engine.opera < 9.5 ? -event.wheelDelta : event.wheelDelta);} else {return -event.detail * 40;}},preventDefault: function(event){if (event.preventDefault){event.preventDefault();} else {event.returnValue = false;}},removeHandler: function(element, type, handler){if (element.removeEventListener){element.removeEventListener(type, handler, false);} else if (element.detachEvent){element.detachEvent("on" + type, handler);} else {element["on" + type] = null;}},setClipboardText: function(event, value){if (event.clipboardData){event.clipboardData.setData("text/plain", value);} else if (window.clipboardData){window.clipboardData.setData("text", value);}},stopPropagation: function(event){if (event.stopPropagation){event.stopPropagation();} else {event.cancelBubble = true;}}}; var client = function(){//rendering enginesvar engine = { ie: 0,gecko: 0,webkit: 0,khtml: 0,opera: 0,//complete versionver: null };//browsersvar browser = {//browsersie: 0,firefox: 0,safari: 0,konq: 0,opera: 0,chrome: 0,//specific versionver: null};//platform/device/OSvar system = {win: false,mac: false,x11: false,//mobile devicesiphone: false,ipod: false,ipad: false,ios: false,android: false,nokiaN: false,winMobile: false,//game systemswii: false,ps: false }; //detect rendering engines/browsersvar ua = "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0) Asus;Galaxy6";//navigator.userAgent; if (window.opera){engine.ver = browser.ver = window.opera.version();engine.opera = browser.opera = parseFloat(engine.ver);} else if (/AppleWebKit\/(\S+)/.test(ua)){engine.ver = RegExp["$1"];engine.webkit = parseFloat(engine.ver);//figure out if it's Chrome or Safariif (/Chrome\/(\S+)/.test(ua)){browser.ver = RegExp["$1"];browser.chrome = parseFloat(browser.ver);} else if (/Version\/(\S+)/.test(ua)){browser.ver = RegExp["$1"];browser.safari = parseFloat(browser.ver);} else {//approximate versionvar safariVersion = 1;if (engine.webkit < 100){safariVersion = 1;} else if (engine.webkit < 312){safariVersion = 1.2;} else if (engine.webkit < 412){safariVersion = 1.3;} else {safariVersion = 2;} browser.safari = browser.ver = safariVersion; }} else if (/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){engine.ver = browser.ver = RegExp["$1"];engine.khtml = browser.konq = parseFloat(engine.ver);} else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){ engine.ver = RegExp["$1"];engine.gecko = parseFloat(engine.ver);//determine if it's Firefoxif (/Firefox\/(\S+)/.test(ua)){browser.ver = RegExp["$1"];browser.firefox = parseFloat(browser.ver);}} else if (/MSIE ([^;]+)/.test(ua)){ engine.ver = browser.ver = RegExp["$1"];engine.ie = browser.ie = parseFloat(engine.ver);}//detect browsersbrowser.ie = engine.ie;browser.opera = engine.opera;//detect platformvar p = navigator.platform;system.win = p.indexOf("Win") == 0;system.mac = p.indexOf("Mac") == 0;system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);//detect windows operating systemsif (system.win){if (/Win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){if (RegExp["$1"] == "NT"){switch(RegExp["$2"]){case "5.0":system.win = "2000";break;case "5.1":system.win = "XP";break;case "6.0":system.win = "Vista";break;case "6.1":system.win = "7";break;default:system.win = "NT";break; } } else if (RegExp["$1"] == "9x"){system.win = "ME";} else {system.win = RegExp["$1"];}}}//mobile devicessystem.iphone = ua.indexOf("iPhone") > -1;system.ipod = ua.indexOf("iPod") > -1;system.ipad = ua.indexOf("iPad") > -1;system.nokiaN = ua.indexOf("NokiaN") > -1;//windows mobileif (system.win == "CE"){system.winMobile = system.win;} else if (system.win == "Ph"){if(/Windows Phone OS (\d+.\d+)/.test(ua)){;system.win = "Phone";system.winMobile = parseFloat(RegExp["$1"]);}}//determine iOS versionif (system.mac && ua.indexOf("Mobile") > -1){if (/CPU (?:iPhone )?OS (\d+_\d+)/.test(ua)){system.ios = parseFloat(RegExp.$1.replace("_", "."));} else {system.ios = 2; //can't really detect - so guess }}//determine Android versionif (/Android (\d+\.\d+)/.test(ua)){system.android = parseFloat(RegExp.$1);}//gaming systemssystem.wii = ua.indexOf("Wii") > -1;system.ps = /playstation/i.test(ua);//return itreturn {engine: engine,browser: browser,system: system };}(); //跨瀏覽器添加事件
function addEvent(obj, type, fn) {
?? ?if (obj.addEventListener) {
?? ??? ?obj.addEventListener(type, fn, false);
?? ?} else if (obj.attachEvent) {
?? ??? ?obj.attachEvent('on' + type, function () {
?? ??? ??? ?fn.call(obj);
?? ??? ?});
?? ?}
}
//跨瀏覽器移除事件
function removeEvent(obj, type, fn) {
?? ?if (obj.removeEventListener) {
?? ??? ?obj.removeEventListener(type, fn, false);
?? ?} else if (obj.detachEvent) {
?? ??? ?obj.detachEvent('on' + type, fn);
?? ?}
}
//跨瀏覽器阻止默認行為
function preDef(evt) {
?? ?var e = evt || window.event;
?? ?if (e.preventDefault) {
?? ??? ?e.preventDefault();
?? ?} else {
?? ??? ?e.returnValue = false;
?? ?}
}
//跨瀏覽器獲取目標(biāo)對象
function getTarget(evt) {
?? ?if (evt.target) {?? ??? ?//W3C
?? ??? ?return evt.target;
?? ?} else if (window.event.srcElement) {?? ??? ?//IE
?? ??? ?return window.event.srcElement;
?? ?}
}
//跨瀏覽器獲取字符編碼
function getCharCode(evt) {
?? ?var e = evt || window.event;
?? ?if (typeof e.charCode == 'number') {
?? ??? ?return e.charCode;
?? ?} else {
?? ??? ?return e.keyCode;
?? ?}
}
function createXHR() {
?? ?if (typeof XMLHttpRequest != 'undefined') {
?? ??? ?return new XMLHttpRequest();
?? ?} else if (typeof ActiveXObject != 'undefined') {
?? ??? ?var version = [
?? ??? ??? ??? ??? ??? ??? ??? ??? ?'MSXML2.XMLHttp.6.0',
?? ??? ??? ??? ??? ??? ??? ??? ??? ?'MSXML2.XMLHttp.3.0',
?? ??? ??? ??? ??? ??? ??? ??? ??? ?'MSXML2.XMLHttp'
?? ??? ?];
?? ??? ?for (var i = 0; version.length; i ++) {
?? ??? ??? ?try {
?? ??? ??? ??? ?return new ActiveXObject(version[i]);
?? ??? ??? ?} catch (e) {
?? ??? ??? ??? ?//跳過
?? ??? ??? ?}?? ?
?? ??? ?}
?? ?} else {
?? ??? ?throw new Error('您的系統(tǒng)或瀏覽器不支持XHR對象!');
?? ?}
}
//名值對轉(zhuǎn)換為字符串
function params(data) {
?? ?var arr = [];
?? ?for (var i in data) {
?? ??? ?arr.push(encodeURIComponent(i) + '=' + encodeURIComponent(data[i]));
?? ?}
?? ?return arr.join('&');
}
//封裝ajax function ajax(obj) {var xhr = createXHR();obj.url = obj.url + '?rand=' + Math.random();obj.data = params(obj.data);if (obj.method === 'get') obj.url += obj.url.indexOf('?') == -1 ? '?' + obj.data : '&' + obj.data;if (obj.async === true) {xhr.onreadystatechange = function () {if (xhr.readyState == 4) {callback();}};}xhr.open(obj.method, obj.url, obj.async);if (obj.method === 'post') {xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');xhr.send(obj.data); } else {xhr.send(null);}if (obj.async === false) {callback();}function callback() {if (xhr.status == 200) {obj.success(xhr.responseText); //回調(diào)傳遞參數(shù)} else {alert('獲取數(shù)據(jù)錯誤!錯誤代號:' + xhr.status + ',錯誤信息:' + xhr.statusText);} } }//調(diào)用ajax addEvent(document, 'click', function () {ajax({method : 'post',url : 'demo3.php',data : {'name' : 'Lee','age' : 100},success : function (text) {alert(text);},async : true}); });
var CookieUtil = {get: function (name){var cookieName = encodeURIComponent(name) + "=",cookieStart = document.cookie.indexOf(cookieName),cookieValue = null,cookieEnd;if (cookieStart > -1){cookieEnd = document.cookie.indexOf(";", cookieStart);if (cookieEnd == -1){cookieEnd = document.cookie.length;}cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));} return cookieValue;},set: function (name, value, expires, path, domain, secure) {var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);if (expires instanceof Date) {cookieText += "; expires=" + expires.toGMTString();}if (path) {cookieText += "; path=" + path;}if (domain) {cookieText += "; domain=" + domain;}if (secure) {cookieText += "; secure";}document.cookie = cookieText;},unset: function (name, path, domain, secure){this.set(name, "", new Date(0), path, domain, secure);}};
/*SubCookieUtil.js*/
var SubCookieUtil = {
??? get: function (name, subName){
??????? var subCookies = this.getAll(name);
??????? if (subCookies){
??????????? return subCookies[subName];
??????? } else {
??????????? return null;
??????? }
??? },
?? ?
??? getAll: function(name){
??????? var cookieName = encodeURIComponent(name) + "=",
??????????? cookieStart = document.cookie.indexOf(cookieName),
??????????? cookieValue = null,
??????????? cookieEnd,
??????????? subCookies,
??????????? i,
??????????? parts,
??????????? result = {};
?????????? ?
??????? if (cookieStart > -1){
??????????? cookieEnd = document.cookie.indexOf(";", cookieStart)
??????????? if (cookieEnd == -1){
??????????????? cookieEnd = document.cookie.length;
??????????? }
??????????? cookieValue = document.cookie.substring(cookieStart + cookieName.length, cookieEnd);
?????????? ?
??????????? if (cookieValue.length > 0){
??????????????? subCookies = cookieValue.split("&");
?????????????? ?
??????????????? for (i=0, len=subCookies.length; i < len; i++){
??????????????????? parts = subCookies[i].split("=");
??????????????????? result[decodeURIComponent(parts[0])] = decodeURIComponent(parts[1]);
??????????????? }
?? ?
??????????????? return result;
??????????? } ?
??????? }
??????? return null;
??? },
?? ?
??? set: function (name, subName, value, expires, path, domain, secure) {
?? ?
??????? var subcookies = this.getAll(name) || {};
??????? subcookies[subName] = value;
??????? this.setAll(name, subcookies, expires, path, domain, secure);
??? },
?? ?
??? setAll: function(name, subcookies, expires, path, domain, secure){
?? ?
??????? var cookieText = encodeURIComponent(name) + "=",
??????????? subcookieParts = new Array(),
??????????? subName;
?????? ?
??????? for (subName in subcookies){
??????????? if (subName.length > 0 && subcookies.hasOwnProperty(subName)){
??????????????? subcookieParts.push(encodeURIComponent(subName) + "=" + encodeURIComponent(subcookies[subName]));
??????????? }
??????? }
?????? ?
??????? if (subcookieParts.length > 0){
??????????? cookieText += subcookieParts.join("&");
?????????????? ?
??????????? if (expires instanceof Date) {
??????????????? cookieText += "; expires=" + expires.toGMTString();
??????????? }
?????? ?
??????????? if (path) {
??????????????? cookieText += "; path=" + path;
??????????? }
?????? ?
??????????? if (domain) {
??????????????? cookieText += "; domain=" + domain;
??????????? }
?????? ?
??????????? if (secure) {
??????????????? cookieText += "; secure";
??????????? }
??????? } else {
??????????? cookieText += "; expires=" + (new Date(0)).toGMTString();
??????? }
?? ?
??????? document.cookie = cookieText;?????? ?
?? ?
??? },
?? ?
??? unset: function (name, subName, path, domain, secure){
??????? var subcookies = this.getAll(name);
??????? if (subcookies){
??????????? delete subcookies[subName];
??????????? this.setAll(name, subcookies, null, path, domain, secure);
??????? }
??? },
?? ?
??? unsetAll: function(name, path, domain, secure){
??????? this.setAll(name, null, new Date(0), path, domain, secure);
??? }
};
var EventUtil = {addHandler: function(element, type, handler){if (element.addEventListener){element.addEventListener(type, handler, false);} else if (element.attachEvent){element.attachEvent("on" + type, handler);} else {element["on" + type] = handler;}},getButton: function(event){if (document.implementation.hasFeature("MouseEvents", "2.0")){return event.button;} else {switch(event.button){case 0:case 1:case 3:case 5:case 7:return 0;case 2:case 6:return 2;case 4: return 1;}}},getCharCode: function(event){if (typeof event.charCode == "number"){return event.charCode;} else {return event.keyCode;}},getClipboardText: function(event){var clipboardData = (event.clipboardData || window.clipboardData);return clipboardData.getData("text");},getEvent: function(event){return event ? event : window.event;},getRelatedTarget: function(event){if (event.relatedTarget){return event.relatedTarget;} else if (event.toElement){return event.toElement;} else if (event.fromElement){return event.fromElement;} else {return null;}},getTarget: function(event){return event.target || event.srcElement;},getWheelDelta: function(event){if (event.wheelDelta){return (client.engine.opera && client.engine.opera < 9.5 ? -event.wheelDelta : event.wheelDelta);} else {return -event.detail * 40;}},preventDefault: function(event){if (event.preventDefault){event.preventDefault();} else {event.returnValue = false;}},removeHandler: function(element, type, handler){if (element.removeEventListener){element.removeEventListener(type, handler, false);} else if (element.detachEvent){element.detachEvent("on" + type, handler);} else {element["on" + type] = null;}},setClipboardText: function(event, value){if (event.clipboardData){event.clipboardData.setData("text/plain", value);} else if (window.clipboardData){window.clipboardData.setData("text", value);}},stopPropagation: function(event){if (event.stopPropagation){event.stopPropagation();} else {event.cancelBubble = true;}}}; var client = function(){//rendering enginesvar engine = { ie: 0,gecko: 0,webkit: 0,khtml: 0,opera: 0,//complete versionver: null };//browsersvar browser = {//browsersie: 0,firefox: 0,safari: 0,konq: 0,opera: 0,chrome: 0,//specific versionver: null};//platform/device/OSvar system = {win: false,mac: false,x11: false,//mobile devicesiphone: false,ipod: false,ipad: false,ios: false,android: false,nokiaN: false,winMobile: false,//game systemswii: false,ps: false }; //detect rendering engines/browsersvar ua = "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0) Asus;Galaxy6";//navigator.userAgent; if (window.opera){engine.ver = browser.ver = window.opera.version();engine.opera = browser.opera = parseFloat(engine.ver);} else if (/AppleWebKit\/(\S+)/.test(ua)){engine.ver = RegExp["$1"];engine.webkit = parseFloat(engine.ver);//figure out if it's Chrome or Safariif (/Chrome\/(\S+)/.test(ua)){browser.ver = RegExp["$1"];browser.chrome = parseFloat(browser.ver);} else if (/Version\/(\S+)/.test(ua)){browser.ver = RegExp["$1"];browser.safari = parseFloat(browser.ver);} else {//approximate versionvar safariVersion = 1;if (engine.webkit < 100){safariVersion = 1;} else if (engine.webkit < 312){safariVersion = 1.2;} else if (engine.webkit < 412){safariVersion = 1.3;} else {safariVersion = 2;} browser.safari = browser.ver = safariVersion; }} else if (/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){engine.ver = browser.ver = RegExp["$1"];engine.khtml = browser.konq = parseFloat(engine.ver);} else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){ engine.ver = RegExp["$1"];engine.gecko = parseFloat(engine.ver);//determine if it's Firefoxif (/Firefox\/(\S+)/.test(ua)){browser.ver = RegExp["$1"];browser.firefox = parseFloat(browser.ver);}} else if (/MSIE ([^;]+)/.test(ua)){ engine.ver = browser.ver = RegExp["$1"];engine.ie = browser.ie = parseFloat(engine.ver);}//detect browsersbrowser.ie = engine.ie;browser.opera = engine.opera;//detect platformvar p = navigator.platform;system.win = p.indexOf("Win") == 0;system.mac = p.indexOf("Mac") == 0;system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);//detect windows operating systemsif (system.win){if (/Win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){if (RegExp["$1"] == "NT"){switch(RegExp["$2"]){case "5.0":system.win = "2000";break;case "5.1":system.win = "XP";break;case "6.0":system.win = "Vista";break;case "6.1":system.win = "7";break;default:system.win = "NT";break; } } else if (RegExp["$1"] == "9x"){system.win = "ME";} else {system.win = RegExp["$1"];}}}//mobile devicessystem.iphone = ua.indexOf("iPhone") > -1;system.ipod = ua.indexOf("iPod") > -1;system.ipad = ua.indexOf("iPad") > -1;system.nokiaN = ua.indexOf("NokiaN") > -1;//windows mobileif (system.win == "CE"){system.winMobile = system.win;} else if (system.win == "Ph"){if(/Windows Phone OS (\d+.\d+)/.test(ua)){;system.win = "Phone";system.winMobile = parseFloat(RegExp["$1"]);}}//determine iOS versionif (system.mac && ua.indexOf("Mobile") > -1){if (/CPU (?:iPhone )?OS (\d+_\d+)/.test(ua)){system.ios = parseFloat(RegExp.$1.replace("_", "."));} else {system.ios = 2; //can't really detect - so guess }}//determine Android versionif (/Android (\d+\.\d+)/.test(ua)){system.android = parseFloat(RegExp.$1);}//gaming systemssystem.wii = ua.indexOf("Wii") > -1;system.ps = /playstation/i.test(ua);//return itreturn {engine: engine,browser: browser,system: system };}(); //跨瀏覽器添加事件
function addEvent(obj, type, fn) {
?? ?if (obj.addEventListener) {
?? ??? ?obj.addEventListener(type, fn, false);
?? ?} else if (obj.attachEvent) {
?? ??? ?obj.attachEvent('on' + type, function () {
?? ??? ??? ?fn.call(obj);
?? ??? ?});
?? ?}
}
//跨瀏覽器移除事件
function removeEvent(obj, type, fn) {
?? ?if (obj.removeEventListener) {
?? ??? ?obj.removeEventListener(type, fn, false);
?? ?} else if (obj.detachEvent) {
?? ??? ?obj.detachEvent('on' + type, fn);
?? ?}
}
//跨瀏覽器阻止默認行為
function preDef(evt) {
?? ?var e = evt || window.event;
?? ?if (e.preventDefault) {
?? ??? ?e.preventDefault();
?? ?} else {
?? ??? ?e.returnValue = false;
?? ?}
}
//跨瀏覽器獲取目標(biāo)對象
function getTarget(evt) {
?? ?if (evt.target) {?? ??? ?//W3C
?? ??? ?return evt.target;
?? ?} else if (window.event.srcElement) {?? ??? ?//IE
?? ??? ?return window.event.srcElement;
?? ?}
}
//跨瀏覽器獲取字符編碼
function getCharCode(evt) {
?? ?var e = evt || window.event;
?? ?if (typeof e.charCode == 'number') {
?? ??? ?return e.charCode;
?? ?} else {
?? ??? ?return e.keyCode;
?? ?}
}
function createXHR() {
?? ?if (typeof XMLHttpRequest != 'undefined') {
?? ??? ?return new XMLHttpRequest();
?? ?} else if (typeof ActiveXObject != 'undefined') {
?? ??? ?var version = [
?? ??? ??? ??? ??? ??? ??? ??? ??? ?'MSXML2.XMLHttp.6.0',
?? ??? ??? ??? ??? ??? ??? ??? ??? ?'MSXML2.XMLHttp.3.0',
?? ??? ??? ??? ??? ??? ??? ??? ??? ?'MSXML2.XMLHttp'
?? ??? ?];
?? ??? ?for (var i = 0; version.length; i ++) {
?? ??? ??? ?try {
?? ??? ??? ??? ?return new ActiveXObject(version[i]);
?? ??? ??? ?} catch (e) {
?? ??? ??? ??? ?//跳過
?? ??? ??? ?}?? ?
?? ??? ?}
?? ?} else {
?? ??? ?throw new Error('您的系統(tǒng)或瀏覽器不支持XHR對象!');
?? ?}
}
//名值對轉(zhuǎn)換為字符串
function params(data) {
?? ?var arr = [];
?? ?for (var i in data) {
?? ??? ?arr.push(encodeURIComponent(i) + '=' + encodeURIComponent(data[i]));
?? ?}
?? ?return arr.join('&');
}
//封裝ajax function ajax(obj) {var xhr = createXHR();obj.url = obj.url + '?rand=' + Math.random();obj.data = params(obj.data);if (obj.method === 'get') obj.url += obj.url.indexOf('?') == -1 ? '?' + obj.data : '&' + obj.data;if (obj.async === true) {xhr.onreadystatechange = function () {if (xhr.readyState == 4) {callback();}};}xhr.open(obj.method, obj.url, obj.async);if (obj.method === 'post') {xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');xhr.send(obj.data); } else {xhr.send(null);}if (obj.async === false) {callback();}function callback() {if (xhr.status == 200) {obj.success(xhr.responseText); //回調(diào)傳遞參數(shù)} else {alert('獲取數(shù)據(jù)錯誤!錯誤代號:' + xhr.status + ',錯誤信息:' + xhr.statusText);} } }//調(diào)用ajax addEvent(document, 'click', function () {ajax({method : 'post',url : 'demo3.php',data : {'name' : 'Lee','age' : 100},success : function (text) {alert(text);},async : true}); });
?
轉(zhuǎn)載于:https://www.cnblogs.com/double405/p/5089196.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的封装cookie.js、EventUtil.js、的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。