2010-06-14 4 views
0

방금 ​​탁월한 jQuery UI 자동 완성을 구현했습니다.jQuery UI 자동 완성 IE 커서 위치 버그

http://jqueryui.com/demos/autocomplete/

는 IE 8 (그리고 아마도 다른 버전)에서 이상한 버그가 있습니다.

IE 8에서 제안 상자에서 항목을 선택하면 커서가 방금 삽입 한 제안 단어 앞에있는 텍스트 상자의 시작 부분으로 이동합니다.

Firefox는 삽입 된 단어 뒤에 커서를 놓습니다.

누구에게도이 문제에 대한 해결책이 있습니까? autocomplte 함수에 전달 된 select 이벤트에 다음 코드를 추가

감사

스티브

답변

1

보십시오.

는, 당신은 그래서 경우 :

jQuery('someval').autocomplete({ 
     source: availableTags 
    }); 

변경이 될 :

jQuery('some_val').autocomplete({ 
    source: availableTags, 

    select : function(event, ui){ 
      if(document.selection) { 
       this.focus(); 
       var oSel = document.selection.createRange(); 
       oSel.moveStart('character',this.value.length); 
       oSel.moveEnd('character',0); 
       oSel.select(); 
      } 
     } 
}) 

은 자세한 내용보기 : http://forum.jquery.com/topic/ui-autocomplete-multiple-demo-caret-position-in-ie http://jqueryui.com/demos/autocomplete/#multiple

+0

제안 해 주셔서 감사합니다. 아론, 나는 내 인터넷 검색에서 그 대답을 찾지 못했습니다. 그러나 나는이 수정 프로그램을 구현하는 방법을 볼 수 없습니다. jquery UI 코어, 자동 완성 및 jquery 라이브러리 자체의 비 압축 버전을 검색했으며 줄을 찾을 수 없습니다. 'this.value = terms.join (",");' 어딘가에. 게시물이 한 달되지 않았지만이 수정 프로그램이 이전 버전과 관련이 있는지 알 수 없습니다. 매우 이상합니다. 다른 아이디어가 있습니까? 감사합니다. 스티브 – CountZero

+0

오우는 자동 완성의 여러 버전에만 해당됩니다. 그것은 .autocomplete 코드의 select 이벤트에 추가 된 것으로 가정됩니다. 나는 그 게시물에 내가 발견 한 것을 편집 할 것이다. –

+0

감사합니다 아론, 아름답게 작동합니다. 클라이언트가 수행 할 첫 번째 일은 자동 완성을 지원하기 위해 플랫폼을 업데이트하는 데 며칠이 걸린 후에도이 결함에 대해 신음 소리가납니다. 건배! – CountZero