areaEditor.js 的演示界面
Tab 键向右缩进 | 按 Tab + Shift 向左缩进 | 智能填充括号*注:本网站已经全局开启了 areaEditor.js,所有 <textarea> 都可以缩进和补全括号。
介绍
areaEditor.js 是个根据 JavaScript 里几个关于操纵 HTML 原生文本编辑框元素 <textarea> API 而开发的增强版 <textarea> 运行库。它只有不到 2kb 大小,但它能大大增强您在编辑代码时的体验。(纯 ES5 代码,兼容一些老旧浏览器)
具体详情,可进一步阅读这篇文章。
功能
1. 按下 TAB 来控制左右缩进
按下 tab 按键,会产生一个缩进单位。
另外,在下面这种情况时,按下 tab 按键,代码会向右一个单位的缩进(蓝色部分为鼠标选中的文本):
变成 ->
当然,如果同时按下 tab + shift 两个按键,会向左缩进一个单位(必须在选中文字的情况下才有效)。
2. 智能缩进检测
我们常用的缩进有三种类型:四个空格、八个空格、1 个 tab 字符 \t,那 areaEditor.js 是哪种呢?
areaEditor.js 默认的缩进类型是 4 个空格(空白编辑框时),但是它也会智能检测文档的缩进类型进行调整,以文档的第一个缩进为标准。
另外请注意,为了防止混淆,在按下删除键 backspace 时,它只会按照空格挨个删除,而不是一次删除一个缩进单位。
3. 智能填充括号
我们在键入 { } [ ] ( ) < > ' " ` 符号时,会如其他代码编辑器一样进行自动补全。
如果我们依然继续按动键盘,进行手动补全,那么它会忽略自动补全。
4. 闭合符号向右缩进
第一种情况,如果我们光标位于 { } [ ] ( ) < > 这 4 种闭合符号之间,然后按下回车,那么它会自动添加一行,并添加一个缩进单位。如图所示:
按下回车后,
第二种情况,如果我们光标仅仅位于'{ [ ( < 这些闭合符号之后,那么它也会新添加一行,并添加一个缩进单位。
按下回车后,
代码引入方式
1. 在 github 下载
在 https://github.com/kohunglee/areaEditor 或 [单击此处下载] 下载完整的包。
2. 使用 jsdelivr 引入
我们一共有三个文件,分别的 开发版(带注释 raw 版 9.4kb)、普通压缩版(4.06 kb)、极致压缩版(1.98kb)。
它们三者的 jsdelivr 地址分别为:
https://cdn.jsdelivr.net/gh/kohunglee/areaeditor/src/areaeditor.2.0.js
https://cdn.jsdelivr.net/gh/kohunglee/areaeditor/src/areaeditor.2.0.min.js
https://cdn.jsdelivr.net/gh/kohunglee/areaeditor/src/areaeditor.2.0.x.min.js
激活方式
我们在 HTML 中可以这样使用:
<textarea></textarea>
<script src="https://cdn.jsdelivr.net/gh/kohunglee/areaeditor/src/areaeditor.2.0.x.min.js" integrity="sha256-sP3tIYbNNHejSjhs3X0SBLULz54YEbR3g1dSJMvpCME=" crossorigin="anonymous"></script>
<script>
var editor = new AreaEditor('textarea', {indentType : { type: 'space', count: 4 }});
</script>
其中,AreaEditor() 的参数和 document.querySelectorAll() 的参数一样。
var editor = new AreaEditor('textarea'); // 选中所有的 textarea 元素
var editor = new AreaEditor('.code-editor'); // 选中所有 class 为 code-editor 的 textarea 元素
var editor = new AreaEditor('#code-editor'); // 选中 id 为 code-editor 的 textarea 元素
var editor = new AreaEditor('#code-editor', {indentType : { type: 'space', count: 4 }); // 后面可以配置缩进,type 里可以有 space 和 tab 两种参数,现在是 4 个空格
editor.indentType.type = 'tab'; // 这样可以动态修改缩进
为什么要这样?
我们在设计网页时,有时会遇到在网页页面上编辑代码的情况,我们通常直接放个原生编辑框 <textarea>,但这样并不好用,另一种是引入成熟的代码编辑器,如 Code Mirror 或 Ace,但它们体积太大了,即便缩减版也动辄 100kb 以上,很多简单的页面没这个必要。
其实,我们只是编辑个代码而已,像语法高亮、自动补全、括号提示等等并不是刚需,缩进才是刚需,此时我们只需解决这个问题,网页的体验感也会大大增强。
为了保证代码体积的简练,之后可能不会添加新的功能,只会将如上四种功能完善。
个人卡片
❤️ 永远承诺:本网站,所有字均为人工手敲!无一字为 AI 生成(除非标注)!是站长 AI 时代的净土!放心!❤️
特朗普型搜索
这是什么?
最新评论
-
蒙需 2026-08-15 13:33
我是 py、bash 和 make 用的...
-
蒙需 2026-08-14 23:16
Web 出海方向应该是不错的,但门槛也是...
-
独元殇 2026-08-13 18:24
@彼得:嗯.... #小程序://刘小...
-
彼得 2026-08-13 12:15
大佬,小排老师这段话出处是哪里呀,谢谢
-
独元殇 2026-08-11 21:37
@吉吉如律令:哈哈,我用的海外的 VPS
-
独元殇 2026-08-11 21:18
@蒙需:哈哈,我感觉基本兼容,我现在手边...
-
蒙需 2026-08-11 21:14
Bun 生态完善可能也需要一点时间,学习...
-
独元殇 2026-08-11 21:10
@不败的树:我这边反正,就现在我页足的备...
-
不败的树 2026-08-11 18:43
请问现在博客类网站属于UGC吗,需不需要...
-
独元殇 2026-08-10 19:14
@浩宇:哈哈,别打我😂,是我识别串信息搞...
-
浩宇 2026-08-10 16:10
如何打豆包?我问他谁是良辰美,它说是你。...
-
吉吉如律令 2026-08-09 17:07
国内还是不要在自家服务器上搭建为好,就算...
-
Lvtu 2026-08-08 16:32
自己搭非商务的还好,不然安全问题没保障。...
-
Lvtu 2026-08-01 19:05
本地测试网页有无ssl貌似影响不大。。。
-
独元殇 2026-08-01 18:46
@蒙需:我认为,随着 AI 的发展,现在...
-
独元殇 2026-08-01 18:44
@蒙需:chroma 大部分场景基本够用...
-
蒙需 2026-08-01 15:55
我是觉得基本要编程还是要懂的,否则一点问...
-
蒙需 2026-07-30 20:00
我建立个人知识库,用的也是 chroma
-
独元殇 2026-07-30 00:06
@lznauy:哈哈,是的,还是郊区三大...
-
lznauy 2026-07-29 17:49
现在就已经大量失业了,不用等到未来,各种...
-
独元殇 2026-07-28 00:14
@Lvtu:一个事情如果门槛足够低,就不...
-
独元殇 2026-07-28 00:12
@Lvtu:我这其实也不算什么跨行,哈哈...
-
Lvtu 2026-07-27 10:48
感觉跨行都有门槛,而且有的门槛还很高。。...
-
zzz 2026-07-24 10:10
就写个CRUD的确用不到设计模式, 杀鸡...
-
小楼 2026-07-23 12:36
孟建吗
-
独元殇 2026-07-21 12:55
@蒙需:好呀 (◍•ᴗ•◍)❤
-
蒙需 2026-07-21 10:06
博主,方便加个友链不? 标题:蒙需 ...
-
蒙需 2026-07-21 09:44
比起其它方式,这几条侵权路径行使起来很方...
-
lznauy 2026-07-18 18:57
反正以后都是AI写代码了,哪个语言好就用...
-
2broear 2026-07-16 16:45
可以做一个哪个,3d链接墙,申请了就可以...
-
独元殇 2026-07-16 00:53
@Smith:感谢大佬!可以用了。这个小...
-
Smith 2026-07-15 12:00
感谢您在知乎和文章推荐EagleKgr哈...
-
独元殇 2026-07-14 15:16
@Lvtu:是的,洋人的这几个模型,都得...
-
Lvtu 2026-07-14 10:05
我装了但登陆不上,是不是要用梯子?
-
免费算命 2026-07-13 23:39
文章不错非常喜欢,支持一下
-
生辰八字算命 2026-07-12 22:43
文章不错支持一下,非常喜欢
-
独元殇 2026-07-09 12:22
@老乡别走:想用 pubspy io 反...
-
独元殇 2026-07-09 12:18
@老乡别走:3 个。 why You a...
-
老乡别走 2026-07-09 12:13
兄弟,google adsense 的账...
-
ok44go 2026-07-07 15:04
兄弟,带我互联网出海,咱一起干波大的。
分类
存档
链接
标签
最新文章
热门文章
访客信息
微信公众号

