ic3*_*ic3 6 javascript codemirror
有一个很好的例子,说明如何制作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;
}
};
Run Code Online (Sandbox Code Playgroud)
在创建CodeMirror之后我们需要绑定这个新命令.将其添加到选项中:
extraKeys: {"F11": "fullscreen"}
Run Code Online (Sandbox Code Playgroud)
问题是如何在CodeMirrorFullscreen
CSS类中放置以确保全屏工作?
使用position: fixed
代替absolute
应该可以解决问题。
要测试它,只需修改CodeMirror的fullscreen.html演示的CSS如下:
form {
position: relative;
}
.CodeMirror-fullscreen {
display: block;
position: fixed;
top: 0; left: 0;
width: 100%;
z-index: 9999;
}
Run Code Online (Sandbox Code Playgroud)
(添加的form
选择器不是解决方案的一部分。它只是为了确保我们正在测试您关心的情况 - 在其中使用position: absolute
in.CodeMirror-fullscreen
不起作用的情况)。
归档时间: |
|
查看次数: |
2333 次 |
最近记录: |