11

在我的项目中,我试图将插入符号位置始终设置到文本的末尾。我知道这是默认行为,但是当我们动态添加一些文本时,插入符号位置会更改为 Chrome 和 Firefox 中的起点(IE 很好,很棒)。

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

这是小提琴

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

我尝试添加setStart,并且setEnd如该链接中所述,但没有用。

4

1 回答 1

22

感谢蒂姆下来,我在这里得到了解决方案:)。问题是我在打电话

placeCaretAtEnd($('#result'));

代替

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

正如 jwarzech 在评论中提到的那样。

工作小提琴

于 2013-04-26T09:14:57.670 回答