Get cursor-position in contenteditable div

Fand ich den folgenden code hier auf, DAMIT man die position des Cursors an eine contenteditable div, aber es gibt immer 0 zurück.

Der Funktion, sollte das abrufen der position:

new function($) {
    $.fn.getCursorPosition = function() {
        var pos = 0;
        var input = $(this).get(0);
        //IE Support
        if (document.selection) {
            input.focus();
            var sel = document.selection.createRange();
            var selLen = document.selection.createRange().text.length;
            sel.moveStart('character', -input.value.length);
            pos = sel.text.length - selLen;
        }
        //Firefox support
        else if (input.selectionStart || input.selectionStart == '0')
            pos = input.selectionStart;

        return pos;
    }
} (jQuery);

Den code, den ich verwenden, um es zu testen:

$('div.MESSAGE_OF_DAY').keyup(function() {
  alert($(this).getCursorPosition()); //always returns 0???
});

Ich bin mit Chrome (8.0.552.215) wenn es darauf ankommt.

InformationsquelleAutor PeeHaa | 2010-12-07

Schreibe einen Kommentar