【发布时间】:2013-11-05 04:20:51
【问题描述】:
有一个很好的example of how to make a fullscreen version of the CodeMirror editor。但是,如果 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 类中添加什么以确保全屏可以正常工作?
【问题讨论】:
-
“关于如何制作全屏版”——全屏版是什么?你的问题没有意义。
-
修复得更清楚一点,如果你知道 codemirror,你就会理解这个问题,因为它也是他们演示的一部分。
-
请详细说明。 “绝对位置可能不再是屏幕”是什么意思?
标签: javascript codemirror