Another straight to the point solutionIn this post I will show you a very simple WYSIWYG editor I wrote. Basically speaking all the WYSIWYG functions are done by the browser (not by JS). JS is needed only to control what should be done.
Different browsers support different set of functions. You can see which browser supports what functions here.
Because of the above some additional code should be written to "hack" the browsers, but I didn't write anything like this in order to make the example as simple as possible.
Here's the demo. The code is licensed under MIT. Icons are part of Silk collection by FamFamFam.
You can download the code here: