Javascript 当codemirror';父div样式是否成为显示块?
我在选项卡式界面中使用带有文本区域的codemirror,当我不在包含codemirror的选项卡中,然后转到它时,我会得到没有行号或光标的空白,当我刷新它工作的页面时,我知道这是因为选项卡内容使用Javascript 当codemirror';父div样式是否成为显示块?,javascript,codemirror,Javascript,Codemirror,我在选项卡式界面中使用带有文本区域的codemirror,当我不在包含codemirror的选项卡中,然后转到它时,我会得到没有行号或光标的空白,当我刷新它工作的页面时,我知道这是因为选项卡内容使用display:none那么如何解决此问题 这是我的代码(我也在使用jquery): 提前感谢。切换到包含编辑器的选项卡时,请确保您也调用了刷新。尝试以下操作: // Refresh CodeMirror $('.CodeMirror').each(function(i, el){ el.Co
display:none代码>那么如何解决此问题
这是我的代码(我也在使用jquery):
提前感谢。切换到包含编辑器的选项卡时,请确保您也调用了刷新
。尝试以下操作:
// Refresh CodeMirror
$('.CodeMirror').each(function(i, el){
el.CodeMirror.refresh();
});
您可以使用插件:
显示/autorefresh.js
当在隐藏的DOM中初始化编辑器时,此插件非常有用
节点,在编辑器运行时很难调用refresh的情况下
变得可见。它定义了一个选项autoRefresh,您可以将其设置为
如果编辑器在初始化时不可见,
它将在第一次可见时刷新。这已经完成了
通过每250毫秒轮询一次(您可以传递{delay:
500}作为配置此选项的选项值)。注意,这个插件将
仅在编辑器第一次可见时刷新一次,而不会刷新
注意进一步重新设置样式和调整大小
您只需添加JS库并将autoRefresh
设置为true
:
var editor = CodeMirror.fromTextArea(document.getElementById($this.attr('id')), {
lineNumbers: true,
mode: text/html,
enterMode: "keep",
tabMode: "shift",
autoRefresh: true
});
您如何添加它?@GáborCsikós将js保存在您的CodeMirror
目录下的文件夹/addon/display/autorefresh.js
。如果有人想了解有关autorefresh选项的更多详细信息:
var editor = CodeMirror.fromTextArea(document.getElementById($this.attr('id')), {
lineNumbers: true,
mode: text/html,
enterMode: "keep",
tabMode: "shift",
autoRefresh: true
});