当前位置: 代码迷 >> 综合 >> JS 工具类
  详细解决方案

JS 工具类

热度:94   发布时间:2024-01-21 22:41:45.0
var browserName = navigator.userAgent.toLowerCase();
                   var BitA = BitA || {};

                   BitA.Tools = {//深度复制

                       extend: function () {
                           var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = false;
                           if (typeof target === "boolean") {
                               deep = target;
                               target = arguments[1] || {};
                               i = 2;
                           }
                           if (typeof target !== "object" && typeof target != "function") {
                               target = {};
                           }
                           if (length === i) {
                               target = this;
                               --i;
                           }
                           for (; i < length; i++) {
                               if ((options = arguments[i]) != null) {
                                   for (var name in options) {
                                       src = target[name];
                                       copy = options[name];
                                       if (target === copy) {
                                           continue;
                                       }
                                       if (deep && copy && (copy instanceof Object || (copyIsArray = copy instanceof Array)) && !(copy instanceof Function)) {
                                           if (copyIsArray) {
                                               copyIsArray = false;
                                               clone = src && src instanceof Array ? src : [];
                                           } else {
                                               clone = src && src instanceof Object ? src : {};
                                           }
                                           target[name] = BitA.Tools.extend(deep, clone, copy);
                                       } else if (copy !== undefined) {
                                           target[name] = copy;
                                       }
                                   }
                               }
                           }
                           return target;
                       },//格式化
                       format: function () {
                           if (arguments.length == 0)
                               return null;
                           var str = arguments[0];
                           var obj = arguments[1];
                           for (var key in obj) {
                               var re = new RegExp('\\{' + key + '\\}', 'gi');
                               str = str.replace(re, obj[key]);
                           }
                           return str;
                       },//添加事件
                       addEvent: function (elm, type, fn, useCapture) {
                           if (elm.addEventListener) {
                               elm.addEventListener(type, fn, useCapture);
                               return true;
                           } else if (elm.attachEvent) {
                               var r = elm.attachEvent('on' + type, fn);
                               return r;
                           } else {
                               elm['on' + type] = fn;
                           }
                       },
                       removeEvent: function (elem, type, fn) {
                           if (elem.removeEventListener) {
                               elem.removeEventListener(type, fn, false);
                           } else {
                               elem.detachEvent("on" + type, fn);
                               elem[type + fn] = null;
                               elem["e" + type + fn] = null;
                           }
                       },
                       browser: {
                           version: (browserName.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1],
                           safari: /webkit/i.test(browserName) && !this.chrome,
                           opera: /opera/i.test(browserName),
                           firefox: /firefox/i.test(browserName),
                           ie: /msie/i.test(browserName) && !/opera/.test(browserName),
                           mozilla: /mozilla/i.test(browserName) && !/(compatible|webkit)/.test(browserName) && !this.chrome,
                           chrome: /chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)
                       }
                   };




//调用



 if (BitA.Tools.browser.ie && BitA.Tools.browser.version == "6.0") {
                                       objSelect.options[i].setAttribute("selected", "true");
                                   } else {
                                       objSelect.options[i].selected = true;
                                   }



  相关解决方案