使textarea支持tab键

默认情况下,tab键是自动聚焦在下一个可以聚焦的元素上,那么当我们在teatarea 中写文字时,需要使用tab键来空格,那怎么办,总不能一直敲空格吧!解决的方法就是捕捉发生在textarea上面的keydown事件,阻止其默认行为,代码如下

$("textarea").on('keydown',function(e){
    if(e.keyCode == 9){
        e.preventDefault();
        var indent = '    ';
        var start = this.selectionStart;
        var end = this.selectionEnd;
        var selected = window.getSelection().toString();
        selected = indent + selected.replace(/\n/g,'\n'+indent);
        this.value = this.value.substring(0,start) + selected + this.value.substring(end);
        this.setSelectionRange(start+indent.length,start+selected.length);
    }
})

 

转载自:http://my.oschina.net/cxz001/blog/364135

posted @ 2016-07-18 17:37  DJL箫氏  阅读(1745)  评论(0编辑  收藏  举报