Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中创建匹配的大括号高亮显示(如代码编辑器)_Javascript - Fatal编程技术网

在JavaScript中创建匹配的大括号高亮显示(如代码编辑器)

在JavaScript中创建匹配的大括号高亮显示(如代码编辑器),javascript,Javascript,我正在为网页构建一个类似小部件的部件,用户将在其中键入代码,我需要在其上实现大括号荧光灯。 因此,如果用户输入 if(a == b) a和b周围的大括号应高亮显示,并用颜色指示范围。 当用户单击这些括号中的任何一个时,另一个括号及其本身将高亮显示,当用户键入并完成一组括号时,也会发生同样的情况 为此,我使用contenteditable div并使用window.getSelection来确定单击/聚焦的字符是否是大括号,然后将span标记环绕在其周围以赋予其颜色 我使用innerHTML在

我正在为网页构建一个类似小部件的部件,用户将在其中键入代码,我需要在其上实现大括号荧光灯。 因此,如果用户输入

 if(a == b)
a和b周围的大括号应高亮显示,并用颜色指示范围。 当用户单击这些括号中的任何一个时,另一个括号及其本身将高亮显示,当用户键入并完成一组括号时,也会发生同样的情况

为此,我使用contenteditable div并使用window.getSelection来确定单击/聚焦的字符是否是大括号,然后将span标记环绕在其周围以赋予其颜色

我使用innerHTML在带有彩色大括号的div中设置新的HTML,但是焦点被重置为div的开头

我希望它的行为像一个通用代码编辑器

欢迎任何想法/方向或其他方法


问候

不要使用innerHTML,使用DOM操纵。可能重复@FelixKling请给出一个例子?这是否意味着有其他方法可以在不使用innerHTML的情况下更改大括号@innerHTML在技术上是DOM。但我认为他的意思可能是创建一个文本节点。看看这个:@techie_28