12

有没有什么好的和合乎逻辑的方法来通过 jQuery 突出显示 textarea 中的代码?如果有,请分享。

4

5 回答 5

22

您可以使用 CodeMirror http://codemirror.net/

...用 JavaScript 为浏览器实现的多功能文本编辑器。它专门用于编辑代码,并带有多种语言模式插件,可实现更高级的编辑功能。

丰富的编程 API和 CSS主题系统可用于自定义 CodeMirror 以适合您的应用程序,并使用新功能对其进行扩展......

于 2011-04-25T15:08:28.690 回答
4

不,没有。您可以将样式应用于整个文本区域,但不能应用于其中的部分文本。

你需要一些可以替代 textarea 的东西,这里有一些列表。

于 2010-07-21T16:49:12.987 回答
1

如果通过代码,您的意思是 SQL、PHP 等,请查看Codepress。它是一个实时的语法高亮编辑器,用 Javascript 编写。

编辑:

如果您更喜欢更现代且积极维护的替代方案,则应查看Ace

于 2010-07-21T20:55:54.380 回答
1

您可以使用以下搜索代码突出显示部分文本:

<script type="text/javascript">
    $(document).ready(function() {
        $("textarea").highlightTextarea({
              words: ["first word","an other word"]
        });
    });
</script>

在将文本突出显示到文本区域中查找有关在文本区域中突出显示的更多信息

于 2013-03-14T11:29:43.773 回答
0

我也在寻找一个实时语法着色的最佳解决方案,所以我找到了一个比 textarea 更老的有效的古老软件(2007)(女巫也在工作):

1.Codepress

https://sourceforge.net/projects/codepress/files/

然后在 index.html 中的第 117 行替换为

<textarea spellcheck="false" id="codepress2" class="codepress javascript linenumbers-off" style="width:700px;height:200px;" wrap="off">

将在 web 中具有像 notepad++ / editplus 这样的实时语法着色,这意味着小代码可以“重新绘制”,“重新忘记”到这个时代......

由你决定 ...

2.MIT LDT =极简语法着色
https://github.com/kueblc/LDT

..我所做的所有测试都是在自定义apache php 8.1 mariadb 自定义服务器中(远程越野车/间谍免费),所以这两个工作正常!

所以答案是:如果你愿意重新编码一些东西,这些可以在 jquery 中重新编码,作者接受(查看许可证以获取更多信息)

于 2021-11-16T06:52:06.083 回答