Javascript 将插入符号设置为contenteditable div中的初始子项以实现跨浏览器兼容性
我想将插入符号设置为我的contenteditablediv中的子段落 为了实现跨浏览器兼容性,我将第一个字符输入到contenteditablediv。如果是第一个字符,我将插入到divJavascript 将插入符号设置为contenteditable div中的初始子项以实现跨浏览器兼容性,javascript,contenteditable,Javascript,Contenteditable,我想将插入符号设置为我的contenteditablediv中的子段落 为了实现跨浏览器兼容性,我将第一个字符输入到contenteditablediv。如果是第一个字符,我将插入到div+first\u char+ 接下来,我尝试在段落的第一个字符之后设置插入符号 它似乎起作用了。但是,在sel.addRange处也会发生错误(请参阅代码) 出了什么问题,我该如何解决 $(“#内容包装器”).on(“键下键”,“.contenteditable div”,函数(事件){ keyCodeNow
+first\u char+
接下来,我尝试在段落的第一个字符之后设置插入符号
它似乎起作用了。但是,在sel.addRange
处也会发生错误(请参阅代码)
出了什么问题,我该如何解决
$(“#内容包装器”).on(“键下键”,“.contenteditable div”,函数(事件){
keyCodeNow=event.keyCode;
如果($(this.html()=''){
if((keyCodeNow>47&&keyCodeNow<58)|///数字键
(keyCodeNow>64&&keyCodeNow<91)| |//字母键
(keyCodeNow>95&&keyCodeNow<112)//numpad键
){
$(this.html(“”+String.fromCharCode(keyCodeNow)+“”);
var sel=window.getSelection();
var范围=选择范围(0);
var childNode=document.getSelection().anchorNode.firstChild.firstChild;
console.log('当前位置:'+range.startOffset+'内部'+range.startContainer);//当前位置:0内部[object HtmlLevel]
range.setStart(childNode,1);
range.setEnd(childNode,1);
范围。塌陷(真);
console.log('Next position:'+range.startOffset+'in'+range.startContainer);//Next position:1 in[object Text]
选择removeAllRanges();
sel.addRange(range);//错误:不支持不连续选择
返回false;
}
}
…