Javascript jQuery 快捷键插件 Firefox热键屏蔽

  1. //usage:$(dom).keyman({key:”D”,ctrl:true,callback:func});
  2. $.fn.keyman = Keyman;
  3. function Keyman( opts ){
  4.     var CTRL = opts.ctrl||false;
  5.     var SHIFT = opts.shift||false;
  6.     var ALT = opts.alt||false;
  7.     var key = opts.key||null;
  8.     if(key instanceof String || typeof key==”string”){
  9.         key = key.charCodeAt(0);
  10.     }else if ( !isNaN(key) ){
  11.         key = parseInt(key);
  12.     }
  13.     var begin = “a”.charCodeAt(0);
  14.     var end = “z”.charCodeAt(0);
  15.     var gap = begin-“A”.charCodeAt(0);
  16.     if(key>=begin && key<=end) key -= gap;
  17.     if(!key||!opts.callback) return this;
  18.     this.live(“keydown”,function(e){
  19.         if( CTRL==e.ctrlKey&&SHIFT==e.shiftKey&&key==e.keyCode){
  20.             var r = opts.callback(e);
  21.             if(e.preventDefault) e.preventDefault();
  22.             if(e.stopPropagation) e.stopPropagation();
  23.             e.cancelBubble = true;
  24.             e.returnValue = false;
  25.             e.keyCode = 0;
  26.             return r;
  27.         }
  28.     });
  29. }

标签