ちょっとメモ。
var range = window.getSelection().getRangeAt(0); range.setStart(range.startContainer, range.startOffset + 1); range.setEnd(range.endContainer, range.endOffset + 1);
IEだとこれじゃダメ。
選択している範囲が要素をまたいでいると、もっと厳密な判定必要。
フォーカスが切り替わらないと、選択範囲が切り替わったように見えない。(内部的には移動しているけど)