本文说明了Javascript让文本支持Tab键的方式分享给你供你参考。具体实现的方法如下:


(htmltextareaelement.prototype.getcaretposition =功能){
/ /返回的文本插入符号的位置
返回this.selectionstart;
};
htmltextareaelement.prototype.setcaretposition =功能(位置){
/ /更改TextArea的插入位置
this.selectionstart =位置;
this.selectionend =位置;
This.focus();
};
(htmltextareaelement.prototype.hasselection =功能){
/ /如果文本已经选择然后返回true
如果(this.selectionstart = =这。selectionend){
返回false;
{人}
返回true;
}
};
(HTMLTextAreaElement.prototype.getSelectedText = function) {
返回选定文本
返回this.value.substring(this.selectionstart,这个selectionend);
};
htmltextareaelement.prototype.setselection =功能(开始、结束){
/ /改变文本框内选择区域
this.selectionstart =开始;
this.selectionend =结束;
This.focus();
};
var文本= document.getelementsbytagname('textarea){ 0 };
textarea.onkeydown =函数(事件){
/ /支持选项卡上的文本
如果(的情况下= = 9){ / /标签被压
无功newcaretposition;
newcaretposition = textarea.getcaretposition()+。长度;
textarea.value = textarea.value.substring(0,textarea.getcaretposition())++ textarea.value.substring(textarea.getcaretposition(),文本值,长度)。
textarea.setcaretposition(newcaretposition);
返回false;
}
如果(的情况下= = 8){
/ /退格
如果(textarea.value.substring(textarea。getcaretposition)-(文本。getcaretposition)(4)= ={)
它是一个制表符空间
无功newcaretposition;
newcaretposition = textarea.getcaretposition()- 3;
textarea.value = textarea.value.substring(0,textarea.getcaretposition()- 3)+ textarea.value.substring(textarea.getcaretposition(),文本值,长度)。
textarea.setcaretposition(newcaretposition);
}
}
如果(的情况下= = 37){ / /左箭头
无功newcaretposition;
如果(textarea.value.substring(textarea。getcaretposition)-(文本。getcaretposition)(4)= ={)
它是一个制表符空间
newcaretposition = textarea.getcaretposition()- 3;
textarea.setcaretposition(newcaretposition);
}
}
如果(的情况下= = 39){
右箭头键
无功newcaretposition;
如果(textarea.value.substring(textarea。getcaretposition(textarea)。getcaretposition)(+ 4)= ={)
它是一个制表符空间
newcaretposition = textarea.getcaretposition()+ 3;
textarea.setcaretposition(newcaretposition);
}
}
}




希望本文能对大家的javascript程序设计有所帮助。