编程语言
首页 > 编程语言> > javascript – 设置插入位置始终以contenteditable div结尾[复制]

javascript – 设置插入位置始终以contenteditable div结尾[复制]

作者:互联网

参见英文答案 > How to move cursor to end of contenteditable entity                                    6个
>            contenteditable, set caret at the end of the text (cross-browser)                                    3个
在我的项目中,我试图将插入位置始终设置为文本的末尾.我知道这是默认行为,但是当我们动态添加一些文本时,插入符号位置会更改为Chrome和firefox中的起点(IE很好,太棒了).

无论如何要使它在chrome和firefox中正常工作?

这是fiddle

<div id="result" contenteditable="true"></div>
<button class="click">click to add text</butto>
var result = $('#result');
$('.click').click(function () {
    var preHtml = result.html();
    result.html(preHtml + "hello");
    result.focus();
});

我尝试添加这个link中提到的setStart和setEnd,但没有用.

解决方法:

我得到了解决方案here感谢蒂姆下来:).问题是我在打电话

placeCaretAtEnd($('#result'));

代替

placeCaretAtEnd(($('#result').get(0));

正如jwarzech在comments年提到的那样.

Working Fiddle

标签:html,javascript,jquery,position,caret
来源: https://codeday.me/bug/20190927/1823152.html