コントロールキーを作成し、キーキーを押してテキストエリアに改行を入れようとしています。chrome、firefoxではうまく機能しますが、ie9では機能しません。少し調べてみると、IEが改行をレンダリングすると、キャリッジリターンなどの問題があることがわかりました。カーソルを新しい行に移動できますが、入力を開始すると、代わりに前の行から開始します。
コードのサンプルは次のようなものです。
var beforeCursor = base.$el.val().substr(0,pos.start);
var afterCursor = base.$el.val().substr(pos.start,base.$el.val().length);
base.$el.val(beforeCursor +"\n"+afterCursor);
base.$el.caret(beforeCursor.length+1, beforeCursor.length+1);
ヘルプや予想されるヘルプへのリンクがあれば便利です。前もって感謝します。