11

私のプロジェクトでは、キャレットの位置を常にテキストの最後に設定しようとしています。これがデフォルトの動作であることはわかっていますが、テキストを動的に追加すると、キャレットの位置が Chrome と Firefox の開始点に変わります (IE は問題なく、すばらしいです)。

とにかく、クロムとファイアフォックスで正しく動作するようにするには?

ここにフィドルがあります

<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で述べたようにandを追加しようとしましたが、役に立ちません。setEnd

4

1 に答える 1

22

Tim downのおかげで、ここで解決策を見つけました:)。問題は、私が電話していたことでした

placeCaretAtEnd($('#result'));

それ以外の

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

コメントでjwarzechが述べたように。

働くフィドル

于 2013-04-26T09:14:57.670 に答える