gpt4 book ai didi

javascript - 将光标设置到 contenteditable div 的末尾

转载 作者:太空狗 更新时间:2023-10-29 13:39:44 30 4
gpt4 key购买 nike

如果当前标记为空,我试图将光标设置到下一个/上一个 contenteditable 标记的末尾,但是当我设置焦点时,它会将焦点添加到文本的开头而不是结尾在 SO 上尝试了几乎所有解决方案,但似乎没有一个对我有用。这是我正在尝试的简单代码

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>

JS 代码

$('#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();
}

最佳答案

您正在使用 jQuery 并从 jQuery 获取元素。您必须将其转换为原生 DOM 元素(通过 jQuery-get 函数)才能使用“setCurserToEnd”函数:

你的方法调用:

setCursorToEnd(this.prev());

工作解决方案:

setCursorToEnd($(this).prev().get(0));

查看更新后的 fiddle :http://jsfiddle.net/dvH5r/4/

关于javascript - 将光标设置到 contenteditable div 的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13513329/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com