jquery的键盘事件修改代码

复制代码 代码如下:

  (function($){

  var no_ie_pr=function(e){

  var _this=e;

  var tabpr=function(e){

  _this.attr('tabIndex', 1).click(function(){

  _this.focus();

  });

  if(!$.browser.msie){

  _this.css("outline-style", "none");

  }

  }

  var gettag=_this[0].tagName.toLowerCase();

  var oe=['abbr','acronym','address','b','bdo','big','blockquote','center','cite','dd','del','dir','dfn','dl','dt','em','font','form','h1','h2','h3','h4','h5','h6','i','ins','img','ins','kbd','li','menu','ol','p','pre','q','s','samp','small','strike','strong','sub','sup','th','tr','tt','u','ul','var'];

  if($.inArray(gettag,oe)!=-1){

  tabpr();

  }else{

  if ($.browser.msie) {

  var ce=['span','div'];

  if($.inArray(gettag,ce)!=-1){

  //IE只对绝对定位元素和固定定位元素有效,加tabIndex无法消除虚线

  }else{

  var ce=['label','legend','tbody','tfoot','thead'];

  if($.inArray(gettag,ce)!=-1){

  tabpr();

  }

  }

  }else{

  var ce=['caption','fieldset','table','td','code','div','span','label','legend','tbody','tfoot','thead'];

  if($.inArray(gettag,ce)!=-1){

  tabpr();

  }

  }

  }

  }

  $.fn.oldKeyup=$.fn.keyup;

  $.fn.keyup=function(fn){

  no_ie_pr(this);

  $(this).oldKeyup(fn);

  }

  $.fn.oldKeypress=$.fn.keypress;

  $.fn.keypress=function(fn){

  no_ie_pr(this);

  $(this).oldKeypress(fn);

  }

  $.fn.oldKeydown=$.fn.keydown;

  $.fn.keydown=function(fn){

  no_ie_pr(this);

  $(this).oldKeydown(fn);

  }

  })(jQuery)