javascript实现textarea中tab键的缩排处理方法

前端之家收集整理的这篇文章主要介绍了javascript实现textarea中tab键的缩排处理方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了javascript实现textarea中tab键的缩排处理方法分享给大家供大家参考。具体如下:

网上搜索了一下相关的解决方法,其它的有使用两三行javascript解决的,但都有一些小小的问题。还有使用JQuery的,也非常简洁。

本文的javascript代码实现了在TEXTAREA中输入TAB键并自动缩进的功能。不过这段代码在谷歌浏览器中不能正常执行,在

代码如下:
这一句会发生错误: ncaught exception TypeError: Cannot read property 'selection' of undefined

代码在IE中正常执行,如下:

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

使用时:

代码如下:

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

猜你在找的JavaScript相关文章