jquery的键盘事件修改代码

 更新时间:2011年02月24日 23:05:55   作者:  
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)

相关文章

最新评论