2016-12-14 8 views
0

変数に格納できるようにカーソルの現在位置を見つける必要があります。私はいくつかのSOの答えを見てきましたが、どれも成功していません。私がこれまで持って何EXTJS 5:テキストフィールドまたはルックアップフィールドの現在のカーソル位置を取得

function getCaretPos(id) { 
    var el = Ext.getCmp(id); 
     var rng, ii=-1; 
    var currSelection = window.getSelection(); 
    if(currSelection){ 
     currSelection.modify("character", el.value.length); 
     // get the current position 
     // ii = currentPosition 
    } 
    return ii; 
}; 

例えば:私は、データを表示するテキストフィールドを持っています。私はYの間と2それは返すべきであるWカーソルを置くと

MYWORD

私はIEの古いバージョンのためのいくつかの例を見てきましたが、どれもChromeで私のために働くように見えるん。

これはどのように行うことができますか?

答えて

0

var textarea=document.getElementById('textarea'); 
 

 
textarea.onclick=function(){ 
 
    setTimeout(function(){ 
 
    console.log(textarea.selectionStart); 
 
    },1); 
 
}
<input id="textarea" type="text" value="MYWORD">

0

は、私はそれはそれはおよそ

CAPTUREの(単にIEでテスト)私の作品(2+)テキストフィールドにとのExtJSの古いバージョンでは、このコードを試してみましたDOMからの位置。あなたの例では

var position = item.el.dom.selectionStart; 

それは次のようになります:あなたはちょうどあなたが望む位置にデselectionEndに値を設定する必要がある位置を変更したい場合は

function getCaretPos(id) { 
     var element = Ext.getCmp(id); 
     var currSelection = element.el.dom.selectionStart; 
    } 

element.el.dom.selectionEnd = position; 
関連する問題