我正在尝试在AngularJS应用程序中使用CodeMirror。我通过下载lib文件夹并在我的angular项目的index.html中链接它们来包含codemirror .css和.js文件。然后我添加了一个这样的脚本:
$(document).ready(function(){
CodeMirror.fromTextArea(document.getElementById("query_box"), {
mode: "sql",
styleActiveLine: true,
lineNumbers:true,
lineWrapping: true
});
});
将我的textarea转换为语法高亮代码编辑器。
我想要CodeMirror-ify的textarea的标记如下所示:
<textarea ng-model="query_box" class="form-control" id="query_box" name="query_box"></textarea>
看起来很简单。
然而,当页面加载时,我在JS控制台中得到一个没有样式的textarea和这个错误消息:
Uncaught TypeError: Cannot read property 'value' of null codemirror.js:4935
CodeMirror.fromTextArea codemirror.js:4935
(anonymous function) script.js:10
fire jquery.js:3119
self.fireWith jquery.js:3231
jQuery.extend.ready jquery.js:3443
completed
当我输入
CodeMirror.fromTextArea(document.getElementById("query_box"))
直接进入我的JS控制台,它确实可以正常工作。有什么理由说jquery没有自动运行相应的javascript吗?