美文网首页
【JS】JavaScript常用方法

【JS】JavaScript常用方法

作者: izhongxia | 来源:发表于2016-08-04 17:02 被阅读42次

作者: zhongxia
事件: 2016-08-04 16:59:09

  1. 禁止键盘回退键,使浏览器页面回退

/**
 * 禁用浏览器回退事件
 * @param e
 * @returns {boolean}
 */
function forbidBackSpace(e) {
    console.info("禁用键盘回退键,导致页面回退...")
    var ev = e || window.event; //获取event对象
    var obj = ev.target || ev.srcElement; //获取事件源
    var t = obj.type || obj.getAttribute('type');
    var vReadOnly = obj.readOnly;
   var vDisabled = obj.disabled;
    //处理undefined值情况
    vReadOnly = (vReadOnly == undefined) ? false : vReadOnly;
    vDisabled = (vDisabled == undefined) ? true : vDisabled;
    //当敲Backspace键时,事件源类型为密码或单行、多行文本的,
    //并且readOnly属性为true或disabled属性为true的,则退格键失效
    var flag1 = ev.keyCode == 8 && (t == "password" || t == "text" || t == "textarea") && (vReadOnly == true || vDisabled == true);
    //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效
    var flag2 = ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea";
    //判断
    if (flag2 || flag1) return false;
}
  1. 生成唯一标识

/**
 * 生成UUID
 * @param len 指定生成项的长度
 * @param radix 范围  比如设置 2 , 就只会生成 0101010之类的
 * @returns {string}
 */
function generatorUUID(len, radix) {
    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
    var uuid = [], i;
    radix = radix || chars.length;
    if (len) {
      for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
    } else {
      var r;
      uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
      uuid[14] = '4';
      for (i = 0; i < 36; i++) {
        if (!uuid[i]) {
          r = 0 | Math.random() * 16;
          uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
        }
      }
    }
    return uuid.join('');
}

相关文章

网友评论

      本文标题:【JS】JavaScript常用方法

      本文链接:https://www.haomeiwen.com/subject/qiocsttx.html