HTML标签textarea支持tab键
码农很需要的,让textarea支持tab键
HTML
<textarea id="content" class="Jmarkdown">
#require <stdio.h>
void main() {
printf("hello world!\n");
}
</text area>
jQuery
$(".Jmarkdown").keydown(function(e){
if (e.keyCode == 9) {
var start = this.selectionStart;
var end = this.selectionEnd;
// 判断选取文本
if (start == end) { // 单行
// 是否按住Shift键
if (e.shiftKey) {
} else {
this.value = this.value.substr(0, start) + "\t" + this.value.substr(end);
this.setSelectionRange(start + 1, end + 1);
}
} else { // 多行
var text = this.value.substr(start, end - start);
// 是否按住Shift键
if (e.shiftKey) {
var len = text.split("\n\t").length - 1;
text = text.replace(/\n\t/g, "\n");
this.value = this.value.substr(0, start) + text + this.value.substr(end);
this.setSelectionRange(start, end - len);
} else {
var len = text.split("\n").length;
text = "\t" + text.replace(/\n/g, "\n\t");
this.value = this.value.substr(0, start) + text + this.value.substr(end);
this.setSelectionRange(start, end + len);
}
}
// 取消默认动作
e.preventDefault();
}
});