我试图在当前 contenteditable 标签为空时将光标设置到下一个/上一个 contenteditable 标签的结尾,但是当我设置焦点时,它会将焦点添加到文本的开头而不是结尾。我已经尝试了 StackOverflow 上几乎所有的解决方案,但似乎都对我无效。这是我正在尝试的简单代码。
HTML 代码
<div id = 'main'>
<div id = 'n1' contenteditable=true> Content one</div>
<div id = 'n2' contenteditable=true> Content 2</div>
<div id = 'n3' contenteditable=true> Content 3</div>
<div id = 'n4' contenteditable=true> Content 4</div>
JavaScript 代码
$('#main div').keydown(function(){
if(!$(this).text().trim()){
$(this).prev().focus();
//setCursorToEnd(this.prev())
}
});
function setCursorToEnd(ele)
{
var range = document.createRange();
var sel = window.getSelection();
range.setStart(ele, 1);
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
ele.focus();
}