我已成功将ACE编辑器嵌入到我的网站中,但它仍然恢复为只读模式。当我第一次将光标放入编辑器时,我可以键入文本,但是如果我移动鼠标并将光标放在另一个位置,我就无法再键入了。当我检查编辑器的属性时,看起来只读已设置为true。
更新:
看起来它可能与只读无关(只有它表现出相同的行为)。我注意到,当我将光标放在编辑器中时,它接受我输入的文本。当我将光标设置到另一个位置时,textarea位置会更新,从那时起我输入的任何文字都会产生“叮”声,就像你不能在这里输入声音类型一样。这就像一个Windows警报消息。
无论如何,我将一个div容器设置为不同的显示器或位置类型然后突然它正常工作但编辑器处于错误的位置。
如果我在编辑器外部单击然后返回编辑器,那么我可以再次键入...至少直到我像之前描述的那样移动光标。
这是之前(工作):
<div style="position: absolute; background-color: rgb(255, 255, 255); border: 0px none; overflow: auto; display: block; left: 316px; top: 239px; width: 1074px; height: 140px;" id="editor0"><div id="iframe_editor0" frameborder="0"><div class=" ace_editor ace_nobold ace-crimson-editor" id="editor" style="display:block;position:absolute;top:0px;left:0px;right:0px;bottom:0px;height:100%;"><textarea style="bottom: 92px; height: 16px; width: 7.2px; right: 1019.6px;" spellcheck="false" wrap="off" class="ace_text-input"></textarea><div style="display: none;" class="ace_gutter"><div style="margin-top: 0px; height: 172px; width: 34px;" class="ace_layer ace_gutter-layer"><div class="ace_gutter-cell " style="height:16px;">1</div><div class="ace_gutter-cell " style="height:16px;">2</div><div class="ace_gutter-cell " style="height:16px;">3</div><div class="ace_gutter-cell " style="height:16px;">4</div></div><div style="top: 32px; height: 16px;" class="ace_gutter-active-line"></div></div><div style="left: 0px; right: 15px;" class="ace_scroller"><div style="margin-top: 0px; width: 1066px; height: 172px;" class="ace_content"><div class="ace_layer ace_print-margin-layer"><div style="left: 580px; visibility: hidden;" class="ace_print-margin"></div></div><div class="ace_layer ace_marker-layer"><div class="ace_active-line" style="height:16px;top:32px;left:0;right:0;"></div></div><div style="padding: 0px 4px;" class="ace_layer ace_text-layer"><div class="ace_line" style="height:16px"><span class="ace_meta ace_tag"><</span><span class="ace_meta ace_tag ace_tag-name">div</span> <span class="ace_entity ace_other ace_attribute-name">style</span><span class="ace_keyword ace_operator">=</span><span class="ace_string">"position:relative;width:640px;height:500px;font-family:Arial;font-size:12px;margin:0 auto;left:8px;top:14px;background-color:#FFFFFF;"</span><span class="ace_meta ace_tag ace_r">></span></div><div class="ace_line" style="height:16px"></div><div class="ace_line" style="height:16px"><span class="ace_meta ace_tag"></</span><span class="ace_meta ace_tag ace_tag-name">div</span><span class="ace_meta ace_tag ace_r">></span></div><div class="ace_line" style="height:16px"></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div style="left: 47.2px; top: 32px; width: 7.2px; height: 16px;" class="ace_cursor"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">X</div><div style="width: 20px; height: 140px;" class="ace_scrollbar"><div style="height: 64px;" class="ace_scrollbar-inner"></div></div></div></div></div>
重新定位光标/在新位置点击鼠标(不工作)后:
<div style="position: absolute; background-color: rgb(255, 255, 255); border: 0px none; overflow: auto; display: block; left: 316px; top: 239px; width: 1074px; height: 140px;" id="editor0"><div id="iframe_editor0" frameborder="0"><div class=" ace_editor ace_nobold ace-crimson-editor ace_focus" id="editor" style="display:block;position:absolute;top:0px;left:0px;right:0px;bottom:0px;height:100%;"><textarea style="bottom: 92px; height: 16px; width: 7.2px; right: 1019.6px;" spellcheck="false" wrap="off" class="ace_text-input"></textarea><div style="display: none;" class="ace_gutter"><div style="margin-top: 0px; height: 172px; width: 34px;" class="ace_layer ace_gutter-layer"><div class="ace_gutter-cell " style="height:16px;">1</div><div class="ace_gutter-cell " style="height:16px;">2</div><div class="ace_gutter-cell " style="height:16px;">3</div><div class="ace_gutter-cell " style="height:16px;">4</div></div><div style="top: 32px; height: 16px;" class="ace_gutter-active-line"></div></div><div style="left: 0px; right: 15px; overflow-x: hidden;" class="ace_scroller"><div style="margin-top: 0px; width: 1066px; height: 172px;" class="ace_content"><div class="ace_layer ace_print-margin-layer"><div style="left: 580px; visibility: hidden;" class="ace_print-margin"></div></div><div class="ace_layer ace_marker-layer"><div class="ace_active-line" style="height:16px;top:32px;left:0;right:0;"></div></div><div style="padding: 0px 4px;" class="ace_layer ace_text-layer"><div class="ace_line" style="height:16px"><span class="ace_meta ace_tag"><</span><span class="ace_meta ace_tag ace_tag-name">div</span> <span class="ace_entity ace_other ace_attribute-name">style</span><span class="ace_keyword ace_operator">=</span><span class="ace_string">"position:relative;width:640px;height:500px;font-family:Arial;font-size:12px;margin:0 auto;left:8px;top:14px;background-color:#FFFFFF;"</span><span class="ace_meta ace_tag ace_r">></span></div><div class="ace_line" style="height:16px"></div><div class="ace_line" style="height:16px"><span class="ace_meta ace_tag"></</span><span class="ace_meta ace_tag ace_tag-name">div</span><span class="ace_meta ace_tag ace_r">></span></div><div class="ace_line" style="height:16px"></div></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer"><div style="left: 47.2px; top: 32px; width: 7.2px; height: 16px; opacity: 0;" class="ace_cursor"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">X</div><div style="width: 20px; height: 140px;" class="ace_scrollbar"><div style="height: 64px;" class="ace_scrollbar-inner"></div></div></div></div></div>
以前的代码是body标签内的代码。
更新2
似乎如果编辑器位于Flash / Flex应用程序之上,则会导致问题。我将Flash / Flex应用程序设置为高度的一半,并且不再使用其下方的Flash应用程序的区域正常工作。同样,这只发生在Firefox Mac中。在Mac上的Safari中它可以正常工作。
答案 0 :(得分:0)
任何文本区域都出现问题,而不是Ace编辑器使用的文本区域。
如果在任何Flash应用程序上放置HTML文本区域,请在该HTML文本区域中键入一些文本,然后单击文本字段中的另一个位置(移动光标),它表现出相同的行为。这种行为是没有输入其他文本并发出哔哔声。
较新版本的Flash Player或较新版本的Firefox已解决此问题。我不知道它修复了哪个版本,但它是在2015年9月27日左右。