ich habe mir einen kleine WYSIWYG-Editor gebastelt. Funktioniert auch prima.
Respekt. Da hast du dir IMHO eine der schmerzhaftesten Themen in der JS Programmierung ausgesucht. Insbesondere, wenn du Cross-Browser funktional arbeiten willst.
Mit diesem Schmerz befasen sich seit einigen Jahren die Entwickler vom TinyMCE. Da er im Source vorliegt, wirst du dort bestimmt Antworten auf deine Fragen finden.