Begrenzung der Anzahl der Zeichen in einem ContentEditable div

Ich bin mit contenteditable div-Elemente in meine web-Anwendung, und ich bin versucht zu kommen mit einer Lösung zu begrenzen die Menge der zulässigen Zeichen in die Gegend, und sobald das limit erreicht ist, versucht Sie, um Zeichen einzugeben tut sich einfach nichts. Dies ist, was ich habe, so weit:

var content_id = 'editable_div';

//binding keyup/down events on the contenteditable div
$('#'+content_id).keyup(function(){ check_charcount(content_id, max); });
$('#'+content_id).keydown(function(){ check_charcount(content_id, max); });

function check_charcount(content_id, max)
{   
    if($('#'+content_id).text().length > max)
    {
        $('#'+content_id).text($('#'+content_id).text().substring(0, max));
    }
}

Dies schränkt die Anzahl der Zeichen, um die angegebene Zahl von 'max', aber einmal die Gegend der text wird von der jquery .text () - Funktion der cursor setzt sich an den Anfang des Bereichs. Also, wenn der Benutzer hält auf Eingabe, werden die neu eingegebenen Zeichen werden eingefügt an den Anfang des Textes und das Letzte Zeichen des Textes werden entfernt. Also wirklich, ich muss nur einige Weg, um den cursor an das Ende des contenteditable-Bereich text.

InformationsquelleAutor der Frage Bill Dami | 2010-05-19

Schreibe einen Kommentar