JavaScript让Textarea支持tab按键的方法
本文实例讲述了JavaScript让Textarea支持tab按键的方法。分享给大家供大家参考。具体实现方法如下:
HTMLTextAreaElement.prototype.getCaretPosition=function(){
//returnthecaretpositionofthetextarea
returnthis.selectionStart;
};
HTMLTextAreaElement.prototype.setCaretPosition=function(position){
//changethecaretpositionofthetextarea
this.selectionStart=position;
this.selectionEnd=position;
this.focus();
};
HTMLTextAreaElement.prototype.hasSelection=function(){
//ifthetextareahasselectionthenreturntrue
if(this.selectionStart==this.selectionEnd){
returnfalse;
}else{
returntrue;
}
};
HTMLTextAreaElement.prototype.getSelectedText=function(){
//returntheselectiontext
returnthis.value.substring(this.selectionStart,this.selectionEnd);
};
HTMLTextAreaElement.prototype.setSelection=function(start,end){
//changetheselectionareaofthetextarea
this.selectionStart=start;
this.selectionEnd=end;
this.focus();
};
vartextarea=document.getElementsByTagName('textarea')[0];
textarea.onkeydown=function(event){
//supporttabontextarea
if(event.keyCode==9){//tabwaspressed
varnewCaretPosition;
newCaretPosition=textarea.getCaretPosition()+"".length;
textarea.value=textarea.value.substring(0,textarea.getCaretPosition())+""+textarea.value.substring(textarea.getCaretPosition(),textarea.value.length);
textarea.setCaretPosition(newCaretPosition);
returnfalse;
}
if(event.keyCode==8){
//backspace
if(textarea.value.substring(textarea.getCaretPosition()-4,textarea.getCaretPosition())==""){
//it'satabspace
varnewCaretPosition;
newCaretPosition=textarea.getCaretPosition()-3;
textarea.value=textarea.value.substring(0,textarea.getCaretPosition()-3)+textarea.value.substring(textarea.getCaretPosition(),textarea.value.length);
textarea.setCaretPosition(newCaretPosition);
}
}
if(event.keyCode==37){//leftarrow
varnewCaretPosition;
if(textarea.value.substring(textarea.getCaretPosition()-4,textarea.getCaretPosition())==""){
//it'satabspace
newCaretPosition=textarea.getCaretPosition()-3;
textarea.setCaretPosition(newCaretPosition);
}
}
if(event.keyCode==39){
//rightarrow
varnewCaretPosition;
if(textarea.value.substring(textarea.getCaretPosition()+4,textarea.getCaretPosition())==""){
//it'satabspace
newCaretPosition=textarea.getCaretPosition()+3;
textarea.setCaretPosition(newCaretPosition);
}
}
}
希望本文所述对大家的javascript程序设计有所帮助。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短