2012-02-20 16 views
2

私はWYSIWYGエディタを作っています。キャレットポジションを取得する方法を知る必要があります。それはクロスプラットフォームを行う明確な方法がないようです。キャレット位置クロスブラウザ?

私は構文が必要です。 Mozillaの開発者向けページに私を指差してはいけません。私はそれが特に有用であるとは思わなかった。 コンテンツ編集可能なdivを使用しています。

source that i looked at

答えて

9

この

function doGetCaretPosition (oField) { 

// Initialize 
var iCaretPos = 0; 

// IE Support 
if (document.selection) { 

    // Set focus on the element 
    oField.focus(); 

    // To get cursor position, get empty selection range 
    var oSel = document.selection.createRange(); 

    // Move selection start to 0 position 
    oSel.moveStart ('character', -oField.value.length); 

    // The caret position is selection length 
    iCaretPos = oSel.text.length; 
} 

// Firefox support 
else if (oField.selectionStart || oField.selectionStart == '0') 
    iCaretPos = oField.selectionStart; 

// Return results 
return (iCaretPos); 
} 
+0

thks **歓声** – officegunner

+0

いい仕事ジャスを試してみてください! +1 –

+0

Internet Explorer 10以降でテストされましたか? –

関連する問題