javascript - 在 contenteditable div 中插入 html 标签并在其中设置光标
问题描述
我有以下 Javascript 代码,它可以在 FireFox 中正确运行,但在 Google Chrome 中却不能。这个函数在可编辑的 DIV 中插入 html 标签,它应该保持光标在其中,以便用户可以看到具有应用于 SPAN 和类的样式的文本。以下代码适用于 FF 但不适用于 Chrome
function insertTextAtCursor(text, myid) {
if(myid != "")
{
var span = document.createElement('span');
span.setAttribute('class', 'mystyle');
var selection = window.getSelection();
var range = selection.getRangeAt(0);
span.innerHTML=text;
range.deleteContents();
range.insertNode(span);
range.setStart(span, 0);
range.setEnd(span, 0);
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
}
}
谷歌浏览器需要进行任何更改才能正常工作吗?提前致谢。
解决方案
推荐阅读
- asynchronous - F#:调用 Task.WhenAny 时避免竞争条件?
- amazon-web-services - EC2 实例承担 IAM 角色,这样我就不必每次都输入令牌来使用 AWS 上的服务
- python - 如何在函数后停止 tkinter
- python - AttributeError:PageOne 实例没有属性“删除”
- html - 如何在 Vuetify 组件上应用自定义/覆盖 CSS?
- sql - 我的简单代码(附加)出现错误“将 varchar 转换为数字数据类型的算术溢出错误”。
- javascript - 如何在 JavaScript 公式中获得准确的百分比
- django - 从 Django 视图调用 Google Cloud 函数
- swift - 如何允许结构变量使用多个枚举?
- python - 烧瓶路由功能给出错误 - “内部服务器错误”