gpt4 book ai didi

javascript - 在 Codemirror/emmet 中使用 javascript 扩展缩写

转载 作者:行者123 更新时间:2023-12-03 10:33:24 24 4
gpt4 key购买 nike

我正在使用 codemirror 和 emmet对于我的项目。当以交互方式完成时(CTRL+E),emmet 缩写的扩展在 codemirror 编辑器中效果很好。我想更进一步,通过扩展 JavaScript 代码中的缩写来创建代码。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="codemirror/lib/codemirror.css">
<link rel="stylesheet" type="text/css" href="codemirror/lib/codemirror.css">
<script type="text/javascript" src="codemirror/lib/codemirror.js"></script>
<script type="text/javascript" src="codemirror/lib/codemirror.js"></script>
<script type="text/javascript" src="codemirror/mode/xml/xml.js"></script>
<script type="text/javascript" src="codemirror/mode/javascript/javascript.js"></script>
<script type="text/javascript" src="codemirror/mode/css/css.js"></script>
<script type="text/javascript" src="codemirror/mode/htmlmixed/htmlmixed.js"></script>
<script type="text/javascript" src="resource/emmet.js"></script>
</head>
<body>
<div id="editorContainer"></div>
<script type="text/javascript">

var Test = {};
Test.editor = null;

Test.init = function() {
Test.editor = CodeMirror(document.getElementById('editorContainer'), {
autofocus: true,
lineNumbers: true,
mode: "text/html",
profile: 'xhtml', /* define Emmet output profile */
});
emmetCodeMirror(Test.editor);
Test.ol();
}

Test.ol = function() {
Test.editor.getDoc().replaceSelection('ol>li*3', 'end');
Test.editor.focus();
emmetCodeMirror.emmet.run('expand_abbreviation', Test.editor);
};

Test.init();
</script>
</body>
</html>

通过调用Test.ol(),文本ol>li*3被插入,但以下执行

emmetCodeMirror.emmet.run('expand_abbreviation', Test.editor);

导致 TypeError: editor.getProfileName is not a function emmet.js:41541

有人可以告诉我我做错了什么吗?

您可以download the project here .

非常感谢!

最佳答案

您将 CodeMirror 编辑器实例传递给 emmet.run() 而不是 EmmetEditor。无论如何,最终的解决方案是简单地执行注册的 Emmet 命令,例如

Test.editor.execCommand('emmet.expand_abbreviation')

关于javascript - 在 Codemirror/emmet 中使用 javascript 扩展缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29110570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com