カーソル位置取得
IEはselectionStartが使えないのでその対策が必要。
現時点では以下のようにした。
function getpos(obj){ if(obj.selectionStart != undefined) return obj.selectionStart; var range = document.selection.createRange(); if(obj.type == 'textarea'){ var clone = range.duplicate(); clone.moveToElementText(obj); clone.setEndPoint('EndToEnd', range); return clone.text.length - range.text.length; }else{ var textRange = obj.createTextRange(); textRange.setEndPoint('EndToStart', range); return textRange.text.length; } }
これでやっと俺lispの以下の機能の(IE非対応)の注記を消すことができる。
カーソル移動にあわせて対応する括弧を表示(IE非対応)。
http://kar.s206.xrea.com/lisp/
参考サイト
Javascriptで選択範囲の始点、終点を取得する
http://blog.es-sow.net/2009/05/26/
IE、テキストエリア内の選択範囲/キャレットの位置(文字数)を取得する
http://d.hatena.ne.jp/brazil/20061021/1161377936