Advertisement
TheVideoVolcano

Script Key Blocker - Javascript

Oct 23rd, 2014
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //script key blocker js
  2. //credits: http://jsfiddle.net/dVSRM/
  3.  
  4. shortcut = {
  5.     all_shortcuts: {},
  6.       add: function (e, t, n) {
  7.         var r = {
  8.           type: "keydown",
  9.           propagate: !1,
  10.           disable_in_input: !1,
  11.           target: document,
  12.           keycode: !1
  13.         };
  14.         if (n) for (var i in r) "undefined" == typeof n[i] && (n[i] = r[i]);
  15.         else n = r;
  16.         r = n.target, "string" == typeof n.target && (r = document.getElementById(n.target)), e = e.toLowerCase(), i = function (r) {
  17.           r = r || window.event;
  18.           if (n.disable_in_input) {
  19.             var i;
  20.             r.target ? i = r.target : r.srcElement && (i = r.srcElement), 3 == i.nodeType && (i = i.parentNode);
  21.             if ("INPUT" == i.tagName || "TEXTAREA" == i.tagName) return
  22.           }
  23.           r.keyCode ? code = r.keyCode : r.which && (code = r.which), i = String.fromCharCode(code).toLowerCase(), 188 == code && (i = ","), 190 == code && (i = ".");
  24.           var s = e.split("+"),
  25.             o = 0,
  26.             u = {
  27.               "`": "~",
  28.               1: "!",
  29.               2: "@",
  30.               3: "#",
  31.               4: "$",
  32.               5: "%",
  33.               6: "^",
  34.               7: "&",
  35.               8: "*",
  36.               9: "(",
  37.               0: ")",
  38.               "-": "_",
  39.               "=": "+",
  40.               ";": ":",
  41.               "'": '"',
  42.               ",": "<",
  43.               ".": ">",
  44.               "/": "?",
  45.               "\\": "|"
  46.             }, f = {
  47.               esc: 27,
  48.               escape: 27,
  49.               tab: 9,
  50.               space: 32,
  51.               "return": 13,
  52.               enter: 13,
  53.               backspace: 8,
  54.               scrolllock: 145,
  55.               scroll_lock: 145,
  56.               scroll: 145,
  57.               capslock: 20,
  58.               caps_lock: 20,
  59.               caps: 20,
  60.               numlock: 144,
  61.               num_lock: 144,
  62.               num: 144,
  63.               pause: 19,
  64.               "break": 19,
  65.               insert: 45,
  66.               home: 36,
  67.               "delete": 46,
  68.               end: 35,
  69.               pageup: 33,
  70.               page_up: 33,
  71.               pu: 33,
  72.               pagedown: 34,
  73.               page_down: 34,
  74.               pd: 34,
  75.               left: 37,
  76.               up: 38,
  77.               right: 39,
  78.               down: 40,
  79.               f1: 112,
  80.               f2: 113,
  81.               f3: 114,
  82.               f4: 115,
  83.               f5: 116,
  84.               f6: 117,
  85.               f7: 118,
  86.               f8: 119,
  87.               f9: 120,
  88.               f10: 121,
  89.               f11: 122,
  90.               f12: 123
  91.             }, l = !1,
  92.             c = !1,
  93.             h = !1,
  94.             p = !1,
  95.             d = !1,
  96.             v = !1,
  97.             m = !1,
  98.             y = !1;
  99.           r.ctrlKey && (p = !0), r.shiftKey && (c = !0), r.altKey && (v = !0), r.metaKey && (y = !0);
  100.           for (var b = 0; k = s[b], b < s.length; b++) "ctrl" == k || "control" == k ? (o++, h = !0) : "shift" == k ? (o++, l = !0) : "alt" == k ? (o++, d = !0) : "meta" == k ? (o++, m = !0) : 1 < k.length ? f[k] == code && o++ : n.keycode ? n.keycode == code && o++ : i == k ? o++ : u[i] && r.shiftKey && (i = u[i], i == k && o++);
  101.           if (o == s.length && p == h && c == l && v == d && y == m && (t(r), !n.propagate)) return r.cancelBubble = !0, r.returnValue = !1, r.stopPropagation && (r.stopPropagation(), r.preventDefault()), !1
  102.         }, this.all_shortcuts[e] = {
  103.           callback: i,
  104.           target: r,
  105.           event: n.type
  106.         }, r.addEventListener ? r.addEventListener(n.type, i, !1) : r.attachEvent ? r.attachEvent("on" + n.type, i) : r["on" + n.type] = i
  107.       },
  108.       remove: function (e) {
  109.         var e = e.toLowerCase(),
  110.           t = this.all_shortcuts[e];
  111.         delete this.all_shortcuts[e];
  112.         if (t) {
  113.           var e = t.event,
  114.             n = t.target,
  115.             t = t.callback;
  116.           n.detachEvent ? n.detachEvent("on" + e, t) : n.removeEventListener ? n.removeEventListener(e, t, !1) : n["on" + e] = !1
  117.         }
  118.       }
  119.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement