その理由は、他のすべての文字が、何らかの文字が関連付けられているキーからのものであるためだと思います。しかし、矢印キーには ←、→ などの文字が関連付けられていません。それらはいくつかの機能を持っているだけです。矢印キーを使用してテキスト ボックスに矢印を入力したことがありますか?
それらを使用して矢印を入力したい場合は、jQuery で次の操作を行うことができます。
var element = $('#myeditor'),
elementText = element.text();
store = {
37: "←",
38: "↑",
39: "→",
40: "↓"
};
element.keydown(function( event ) {
var selection = window.getSelection().getRangeAt(0);
//getSelection gets the selected range of text, when nothing is selected,selection is empty.getRangeAt(0)makes selection from the start of selection.
var keyCode = event.which;
if( store[ keyCode ]) {
var n = document.createElement('span');
//Adds a new html element.
n.innerHTML = store[keyCode];
//Adds the arrow to the newly created html element.
selection.insertNode( n );
//insert the newly created html element.
}
});
またはhttp://jsfiddle.net/ybPzP/10/