Jquery:如何关注DIV的最后一个角色

Gar*_*rme 1 html javascript jquery

我有一个令人满意的DIV.

  1. 我想在添加文本时关注最后一个字符.

HTML:

<div id="messageBox" contenteditable="true" class="message"></div>
Run Code Online (Sandbox Code Playgroud)

我试过但这段代码不正确: JsFiddle

  1. 如何创建一个新行并将光标聚焦在那里?

scn*_*iro 6

你可以借助一些javascript来完成这个任务.以下是将光标设置为文本末尾的示例

JSFiddle链接

<div id="messageBox" contenteditable="true" class="message"></div>
<input type='button' class='btn' value='button'>
Run Code Online (Sandbox Code Playgroud)
function placeCaretAtEnd(el) {
    el.focus();
    if (typeof window.getSelection != "undefined"
            && typeof document.createRange != "undefined") {
        var range = document.createRange();
        range.selectNodeContents(el);
        range.collapse(false);
        var sel = window.getSelection();
        sel.removeAllRanges();
        sel.addRange(range);
    } else if (typeof document.body.createTextRange != "undefined") {
        var textRange = document.body.createTextRange();
        textRange.moveToElementText(el);
        textRange.collapse(false);
        textRange.select();
    }
}

$('.btn').click(function() {

    $('#messageBox').html('ok');

    placeCaretAtEnd($('#messageBox').get(0));
});
Run Code Online (Sandbox Code Playgroud)