Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 背景 ブラウザ上で動くリッチテキストエディタを作りたい。 時にはtext以外の要素も使いたいので、独自のDOM操作をしたい。そうなると、入力領域はtextareaではなく、contentEditableを設定したdiv等にしたい。このとき、殆どのブラウザではexecCommandでundoとredoができる。しかし、一度でもJavascriptからDOM操作すると、execCommandによるundo/redoは上手く動かなくなる。結局は独自のUndo/Redo機構を作りたくなる。 この際の鬼門がIME入力の検知。ブラウザごとの数々のバ
