textarea中在光标后输入tab键的方法

来源:互联网 发布:linux服务启动关闭管理 编辑:程序博客网 时间:2024/06/03 00:59
<textarea type="text" id="myInput"></textarea><script type="text/javascript">    var myInput = document.getElementById("myInput");    str = "    ";    if(myInput.addEventListener ) {        myInput.addEventListener('keydown',this.keyHandler,false);    } else if(myInput.attachEvent ) {        myInput.attachEvent('onkeydown',this.keyHandler); /* damn IE hack */    }    function keyHandler(e) {        var TABKEY = 9;        if(e.keyCode == TABKEY) {        insertText(myInput,str);        if(e.preventDefault) {                e.preventDefault();            }        }    }    function insertText(obj,str) {        if (document.selection) {            var sel = document.selection.createRange();            sel.text = str;        } else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {            var startPos = obj.selectionStart,                endPos = obj.selectionEnd,                cursorPos = startPos,                tmpStr = obj.value;            obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);            cursorPos += str.length;            obj.selectionStart = obj.selectionEnd = cursorPos;        } else {            obj.value += str;        }    }</script>

0 0
原创粉丝点击