contenteditable, setzen Sie Caret am Ende des Textes (cross-browser)

Ausgabe in Chrome:

<div id="content" contenteditable="true" style="border:1px solid #000;width:500px;height:40px;">
    hey
    <div>what's up?</div>
<div>
<button id="insert_caret"></button>

Ich glaube, in FF es würde in etwa so Aussehen:

hey
<br />
what's up?

und in IE:

hey
<p>what's up?</p>

leider, es gibt keine nette Art, es so zu machen, dass jeder browser fügt einen <br /> statt einem div - oder p-tag, oder zumindest konnte ich nicht finden, alles, was online.


JEDENFALLS, was ich versuche zu tun, ist jetzt, wenn ich drücken Sie die Tasteich will den Cursor auf das Ende des Textes, so sollte es in etwa so Aussehen:

hey
what's up?|

irgendeiner Weise, dies zu tun, so funktioniert es in alle browser?

Beispiel:

$(document).ready(function()
{
    $('#insert_caret').click(function()
    {
        var ele = $('#content');
        var length = ele.html().length;

        ele.focus();

        //set caret -> end pos
     }
 }

InformationsquelleAutor der Frage | 2010-11-20

Schreibe einen Kommentar