我在Firefox 3.03中的DIV元素上使用contentEditable属性.将其设置为true允许我按预期编辑DIV的文本内容.
然后,当我将contentEditable设置为"false"时,div也不再可编辑,也正如预期的那样.
但是,即使文本不再可编辑,闪烁的插入符号(文本输入光标)仍然可见.当我点击同一页面中的大多数其他文本时,插入符号现在也可见,即使在普通文本段落中也是如此.
谁看过这个吗?有没有办法强制隐藏插入符号?
(当我调整浏览器大小或在另一个应用程序中单击并返回时,插入符会神奇地消失.)
我已经解决了这个问题,当我禁用contentEditable时,我的解决方法是清除选择:
if ($.browser.mozilla) { // replace with browser detection of your choice window.getSelection().removeAllRanges(); }
我实际上删除了IE以外的浏览器的"contenteditable"属性,而不是将其设置为false:
if ($.browser.msie) { element.contentEditable = false; } else { $(element).removeAttr( 'contenteditable' ); }
浏览器不一致地管理contentEditable属性,我的测试显示整体效果更好.我不记得这是否有助于修复插入符号问题,但为了以防万一我将它扔在这里.