javascript - Firefox 3.03 和 contentEditable

标签 javascript firefox

我在 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 属性的方式不一致,我的测试显示整体效果更好。我不记得这是否有助于解决插入符号问题,但为了以防万一,我把它扔在这里。

关于javascript - Firefox 3.03 和 contentEditable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/214722/

相关文章:

javascript - 如何在 React 类渲染方法中为元素提供动态类名

javascript - 在 Firefox 中设置 top.location.hash 为 %20

javascript - 如何根据浏览器语言更改翻译浏览或选择文件作为表单输入类型=文件

javascript - 替换输入元素仅在 Chrome 中引发 onchange 事件

internet-explorer - 在桌面浏览器中访问用户的 GPS 设备有哪些选择?

javascript - 循环中的Angularjs异步调用

javascript - DAT.gui - 生产就绪替代方案

google-chrome - 浏览器如何让 WebAssembly Stack Machine 更高效

javascript - 将 & 替换为 &

php - 如何加密文件下载路径