这里有一个关于如何制作CodeMirror编辑器全屏版本的不错示例。然而,如果CodeMirror小部件位于其他某些position: absolute
或relative
div的中央位置,则此方法将不起作用(CodeMirror小部件的绝对定位将不再相对于整个页面)。
我们可以向CodeMirror添加一个新命令来实现全屏:
CodeMirror.commands.fullscreen = function (cm)
{
var fs_p = $(cm.getWrapperElement());
if ( cm._ic3Fullscreen == null) {
cm._ic3Fullscreen = false;
cm._ic3container = fs_p.parent();
}
if (!cm._ic3Fullscreen)
{
fs_p = fs_p.detach();
fs_p.addClass("CodeMirrorFullscreen");
fs_p.appendTo("body");
cm.focus();
cm._ic3Fullscreen = true;
}
else
{
fs_p = fs_p.detach();
fs_p.removeClass("CodeMirrorFullscreen");
fs_p.appendTo(cm._ic3container);
cm.focus();
cm._ic3Fullscreen = false;
}
};
接下来,在创建 CodeMirror 时需要绑定这个新命令。将以下代码添加到选项中:
extraKeys: {"F11": "fullscreen"}
问题是应该将什么放入
CodeMirrorFullscreen
CSS类中以确保全屏工作?