原来出错的代码如下: 复制代码 代码如下: 出错的原因应该是IE7、IE8中的P不支持innerHTML。CodeMirror的作者也发现了这个问题,相关链接: https://github.com/marijnh/CodeMirror2/issues/215 https://github.com/marijnh/CodeMirror2/commit/4886415d6054571f92fa4d5601ebe7d601e952ab 复制代码 代码如下: try { stringWidth("x"); } catch (e) { if (e.message.match(/runtime/i) || e.message.match(/运行时/i) ) e = new Error("A CodeMirror inside a P-style element does not work in Internet Explorer. (innerHTML bug)"); throw e; } 把textarea外层的p改成div,即可正常: 复制代码 代码如下: