2011-10-07 4 views
0

freetextbox 내 캐럿 위치를 얻으 려하고 있습니다. IE에서만 작동해야하는데, 어떻게해야 할 지 모릅니다. 그것들은 효과가 있었고 그것을 고치려고 시도한 후에도 올바른 결과를주지 못했습니다.javascript FreeTextBox는 캐럿 위치 (IE)

그래서 어떤 방법이 있습니까? 너무 쉽게 할 수있는 것처럼 보이지만 그렇지 않다. ...

나는 WTK의 대답을 사용하여 생각했다. 편집

function GetCaretPossion(o) { 
    var r = document.selection.createRange(); 
    var sel = o.GetSelection(); 
    var re = o.CreateRange(sel); 

    var rc = re.duplicate(); 
    re.moveToBookmark(r.getBookmark()); 
    rc.setEndPoint('EndToStart', re); 
    return rc.text.length; 
} 

: 내가 문서 안에 img 태그를 클릭 할 때까지 이것은 대신 [ControlRangeCollection 개체] 다음은 o.CreateRange (SEL)는를 반환 보인다 좋은 일 [개체 TextRange] ..이 어떤 방법 으로이 문제를 해결하기 위해 ??

Edit2가 :

답변

1

나는 당신이 무슨 말을 하려는지 모르겠어요 .. 그것은 결국 작동하지 않았다 있도록이 나에게 뒤에 HTML에서 텍스트의 인덱스가 아닌 인덱스를 제공 보인다 이 achive 만합니다 (FreeTextBox 소스 코드를보고) 그들은 단순히 사용하고 있습니다 :

sel = this.GetSelection(); 
r = this.CreateRange(sel); 

이 FTB_FreeTextBox 객체입니다. IE (예 : 오늘 오후 어딘가에)가 보류되면 작업 예제를 작성하려고합니다.

+0

감사합니다. 제공 한 코드로 문제가 해결되었습니다. – Peter

+0

그것은 내 2 편집의를 보지 못했 것 같습니다 : ( – Peter

+0

좋아, 지금 나는 그것을 볼 수있다. 내가 말했듯이, 나는 IE에서 스스로 디버깅하고 테스트해야 할 것이다. 리눅스 아래) – WTK