Tag: codemirror

无法在iframe头中创建STYLE标记

这是jsfiddle – > http://jsfiddle.net/uTy5j/7/embedded/result/ 我正在使用CodeMirror,似乎Codemirror正在删除我创建的样式标记: var preview = document.getElementById(‘preview’); var mypreview = preview.contentDocument; mypreview.open(); mypreview.close(); var style = document.createElement(‘style’); style.id = ‘mycssid’; style.type =’text/css’; mypreview.head.appendChild(style); 任何人都可以弄清楚如何在加载完所有内容后将这个样式标记附加到iframe的头部? jsFiddle具有在外部资源中加载的所有codemirror脚本和样式。 这是jsfiddle – > http://jsfiddle.net/uTy5j/7/embedded/result/

使用jQuery规范化Code​​Mirror OnKeyEvent

我正在使用CodeMirror和jQuery在宠物PoC项目上提供语法高亮。 它一直很好,直到我意识到CodeMirror似乎正在捕获DOM上的按键事件,这样当我正在键入一个支持CM的textarea时,它会阻止全局应用程序热键工作。 为简单起见,我们假设我的页面上有以下监听器: var hotkey = function (e) { if (e.shiftKey) { alert(‘foo’); } }; $(document).keypress(hotkey); 这可以在页面的任何地方使用,除非我有焦点的CM textarea。 为了试图解决这个问题,我尝试使用CM的onKeyEvent选项,并尝试使用jQuery.Event规范化CM的处理程序传递的event对象, jQuery.Event所示: var cm = CodeMirror.fromTextArea(someTextArea, { onKeyEvent : function (editor, event) { hotkey($.Event(event)); } }); 这成功地将keydown和keypress事件传递给我的hotkey处理程序。 问题是,“规范化” event对象似乎没有足够的规范化,因为在hotkey范围中引用一些微不足道的东西会返回undefined返回e.shiftKey 。 (我确实正确地将e.type作为keydown或e.type获得,所以我知道我正在传递一个event对象。) 在这里我有什么东西可以导致我的event缺少属性,或者我只是搞砸了? 我当然可以加倍回访并访问原始事件属性,但是,嘿,我真的很想能够像我所需要的那样,使用jQuery规范化对象和下一个人(并且浏览器不可知论只是一个开始)它)。

CodeMirror具有内容,但在按下之前不会显示

我有一个嵌入在我正在构建的webapp中的CodeMirror实例。 它工作得很好 – 除了在用户输入新角色之前不会显示初始内容。 所以它一直存在但是隐藏直到用户强制改变。 这是不好的。 有什么方法可以强制重新模仿或刷新模拟字符输入的浏览器 – 空白会做。 这是代码…… jQuery(document).ready(function(){ var textarea = document.getElementById(‘code-mirror’); var myCodeMirror = CodeMirror.fromTextArea(textarea, { onUpdate:codemirrorcallback, }); // myCodeMirror.refresh(); ? is this an option? }); 这产生了一个工作编辑器,用于保存内容并在文本区域内显示已保存的内容,但仅在用户开始编辑后显示。 在此之前它只是空白。 任何帮助,甚至只是链接将受到高度赞赏。 多谢你们! UPDATE 在myCodeMirror上调用.refresh会在Uncaught TypeError: Cannot call method ‘focus’ of undefined的Chrome控制台中打印错误Uncaught TypeError: Cannot call method ‘focus’ of undefined

setValue之后的Codemirror自动格式

http://liveweave.com/UxEJ0s 我正在为我的应用程序使用Codemirror。 我注意到如果我选择所有文本并按SHIFT + Tab它会自动对齐我的代码,使其更容易阅读。 这是我的应用程序当前呈现的示例… Apples Oranges 这就是我想要渲染它的内容。 Apples Oranges 编辑 : 有没有人知道在没有在Codemirror中手动选择整个代码的情况下是否有办法做到这一点? 为什么? 我在我的应用程序后台运行Codemirror所有添加的代码都是动态添加的,但是当我保存最终代码时,它看起来就像上面一样。 任何帮助是极大的赞赏。

JavaScript / CodeMirror – 刷新textarea

如何使用CodeMirror 2中的刷新function? 刷新() 如果您的代码执行某些操作来更改编辑器元素的大小(已经监听了窗口resize),或者取消隐藏它,则应该通过调用此方法来跟进,以确保CodeMirror仍然按预期显示。 我想在点击链接后刷新所有textareas 我试过了 $(‘.CodeMirror’).each(function(){ getElementById($(this).attr(‘id’)).refresh(); }); 但它不起作用….