在textarea输入Tab - 51windows.Net
51windows.Net
>
脚本收藏
>
表单类
>
textarea
> 在textarea输入Tab
在textarea输入Tab
<script> function editTab() { var code, sel, tmp, r var tabs="" event.returnValue = false sel =event.srcElement.document.selection.createRange() r = event.srcElement.createTextRange() switch (event.keyCode) { case (8) : if (!(sel.getClientRects().length > 1)) { event.returnValue = true return } code = sel.text tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) sel.setEndPoint("startToStart", tmp) sel.text = sel.text.replace(/^\t/gm, "") code = code.replace(/^\t/gm, "").replace(/\r\n/g, "\r") r.findText(code) r.select() break case (9) : if (sel.getClientRects().length > 1) { code = sel.text tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) sel.setEndPoint("startToStart", tmp) sel.text = "\t"+sel.text.replace(/\r\n/g, "\r\t") code = code.replace(/\r\n/g, "\r\t") r.findText(code) r.select() } else { sel.text = "\t" sel.select() } break case (13) : tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) tmp.setEndPoint("endToEnd", sel) for (var i=0; tmp.text.match(/^[\t]+/g) && i<tmp.text.match(/^[\t]+/g)[0].length; i++) tabs += "\t" sel.text = "\r\n"+tabs sel.select() break default : event.returnValue = true break } } </script> <textarea rows="24" onkeydown="editTab()" style="width:100%" name="filetext" cols="80"></textarea>
网站推荐:
虎的笑话
虎的成语
虎的歇后语
在线小游戏
成语排行榜
歇后语排行榜
中华五千年
文革图片
转载本站内容,请务必保留原作者信息。
本站提供的内容部分是在网上搜集,如果侵犯了您的版权,请告之,我们会删除内容或加上您的信息。(
网站留言
、
站内搜索
)