编辑光标未显示在可内容编辑的Chrome上

当您使用Chrome打开此页面时(请参阅Live demo):

<span id="myspan" contenteditable=true></span>

css:

#myspan { border: 0; outline: 0;}

JS:

$(myspan).focus();

contenteditablespan有焦点(您可以开始写东西,您会看到它已经有焦点),但我们看不到"I"编辑光标。

如何显示此光标?(备注:outline:0以及跨度为空,没有空白)。

注意:使用Firefox时,会显示光标。


解决方案

解决方案是将<span>改为<div>(我看到这解决了很多其他题中的contenteditable问题)+增加了一个min-width


实际上,使用以下代码,<div>的大小将是0px x 18px!这就解释了为什么插入符号(编辑光标)将被隐藏!

HTML

<div id="blah" contenteditable=true></div>

css

#blah {
    outline: 0;
    position: absolute;
    top:10px;
    left:10px;
}

JS

$("#blah").focus();

然后,添加

min-width: 2px;

将允许显示插入符号,即使使用Chrome:http://jsfiddle.net/38e9mkf4/2/

相关文章