javascript - 更新时获取 Codemirror 文本框值

标签 javascript html codemirror

所以我正在尝试使用 Codemirror 从网页获取输入,我希望它在文本输入发生变化时更新 Javascript 中的值。目前我有这个工作,但用户必须按下按钮才能将输入发送到 JS 文件。

<!DOCTYPE html>
<html>
    <head>
        <title>CodeMirror</title>
    <script src="codemirror/lib/codemirror.js"></script>
    <link href="codemirror/lib/codemirror.css" rel="stylesheet"></link>
    <script src="codemirror/mode/xml/xml.js"></script>
    <script src="codemirror/addon/edit/closetag.js"></script>
    <link href="codemirror/theme/dracula.css" rel="stylesheet"></link>
    </head>
    <body>
        <textarea id="editor"><p>A paragraph</p></textarea>

    <script>
        var editor = CodeMirror.fromTextArea(document.getElementById('editor'), {
        mode: "xml",
        theme: "dracula",
        lineNumbers: true,
        autoCloseTags: true
      });

        function showCode() {
             var text = editor.getValue()
             console.log(text);
        }
    </script>

        <input id="clickMe" type="button" value="clickme" onclick="showCode();" />
    </body>
</html>

我怎样才能基本上使按钮自动化,以便每当 Codemirror 文本区域的值发生变化时,JS 脚本就会运行。

最佳答案

'change' 事件会告诉您什么时候发生了变化。

const editor = CodeMirror.fromTextArea(document.getElementById('editor'), {});
editor.on('change', (editor) => {
  const text = editor.doc.getValue()
  console.log(text);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.41.0/codemirror.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.41.0/codemirror.min.css" rel="stylesheet"></link>
<textarea id="editor"><p>A paragraph</p></textarea>

关于javascript - 更新时获取 Codemirror 文本框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53000790/

相关文章:

javascript - codemirror的父div样式变为显示 block 时如何刷新?

javascript - 为什么 selectAll ("element") 在 d3js 中生成图表时很重要

php - 编码 HTML 时,浏览器并不总能检测到更改

JQUERY - 如何在其包含的 div 框从左向右滑动时显示文本?

html - 有没有办法在检查元素后复制出现在 Chrome 开发工具中的路径?

javascript - Codemirror - 将新关键字添加到语法高亮文件

codemirror - 如何在JupyterLab中的CodeMirror编辑器中添加标尺(垂直线)?

javascript - 在 JSON 顶部添加值

javascript - 在两个 HTML 页面之间传递 JavaScript 变量

javascript - 在 NodeJS/JavaScript 中使用 iOS Swift Date()