remplacer innerHTML dans div divisible

j'ai besoin pour mettre en œuvre mettre en évidence pour les nombres( dans le futur, im ajouter des règles plus complexes ) dans le contenteditable div. Le problème, c'est Quand im insérer le nouveau contenu javascript remplacer, DOM changements et contenteditable div perdu le focus. Ce dont j'ai besoin est de maintenir l'accent sur les div avec le curseur sur la position actuelle, de sorte que les utilisateurs puissent saisir sans aucun problème et ma fonction simple mettant en évidence les numéros. Googler autour de moi, je décide que Longiligne bibliothèque est la meilleure solution. J'ai code suivant:

function formatText() {

              var savedSel = rangy.saveSelection();
              el = document.getElementById('pad');
              el.innerHTML = el.innerHTML.replace(/(<([^>]+)>)/ig,"");
              el.innerHTML = el.innerHTML.replace(/([0-9])/ig,"<font color='red'>$1</font>");
              rangy.restoreSelection(savedSel);
          }

<div contenteditable="true" id="pad" onkeyup="formatText();"></div>

Le problème, c'est après la fonction de fin de travail, l'accent est de retour à la div, mais signe toujours le point à la div de commencer et je peux taper n'importe où, execept div commencer. Également de la console.les types de journaux suivants Rangy warning: Module SaveRestore: Marker element has been removed. Cannot restore selection.
Merci de m'aider à mettre en œuvre cette fonctionnelle. Im ouverte pour une solutiona, non seulement longiligne de la bibliothèque. Merci!

http://jsfiddle.net/2rTA5/ C'est jsfiddle, mais il ne fonctionnent pas correctement(il ne se passe rien quand j'ai tapé les chiffres dans mon div), je ne sais pas, peut-être qu'il m' (première fois code postal via jsfiddle) ou de ressources ne supporte pas contenteditable.
UPD* Im lire les mêmes problèmes sur stackoverflow, mais les solutions ne marche pas à l'adapter à mon cas 🙁

source d'informationauteur Petya petrov