2010-12-23 3 views
1

내 rails3 프로젝트에서 필자는 뷰 파일에 간단한 텍스트 필드, div 및 자동 완성 도우미를 구현해야했습니다. 자동 완성은 IE를 제외한 모든 브라우저에서 잘 작동합니다. 결과가 떨어지는 div 요소는 style 속성을 계속 변경합니다. 여기 코드가 있습니다.Prototype Rails3 IE8에서 자동 완성이 제대로 표시되지 않습니다.

  .. #form related other code 
      <%= text_field_tag('location') %> 
      <div id="location_auto_complete" class="auto_complete"> </div> 
     <%= auto_complete_field('location', :url => locations_path(), :indicator => 'locations_indicator', :select => 'value') %> 

모든 브라우저에서 완벽하게 작동합니다. 하지만 IE에서는 자동 제안 상자가 페이지의 다른 부분으로 옮겨집니다. 스타일 속성은 서버에서 응답이있을 때마다 해당 div 요소에 동적으로 추가됩니다.

레일 자동 완성 플러그인 https://github.com/fidel/auto_complete의 최신 포크를 사용하고 있습니다. 제발 도와주세요, 나는 몇 시간 동안이 문제에 붙어 있습니다.

+0

동일한 문제가 있음 :( –

답변

0

동일한 문제가 발생했습니다. 분명히 그것은 프로토 타입의 getOffsetParent 기능과 IE8에 문제가 : 프로토 타입에 대한

https://prototype.lighthouseapp.com/projects/8886-prototype/tickets/618-getoffsetparent-returns-body-for-new-hidden-elements-in-ie8-final#ticket-618-9

꽤 당황 실제로 스레드가 2009 년

어쨌든 월부터이기 때문에이 여전히 사람으로, 고정되지 않았 음 스레드 언급에, 당신은 당신의 prototype.js에 파일을 편집하고이에 getOffsetParent의 첫 번째 라인을 변경할 수 있습니다

getOffsetParent: function(element) { 
    if (element.offsetParent && Element.visible(element)) return $(element.offsetParent); 
    ... 

&& Element.visible(element) 새로운 부분이다. 이것은 나를 위해 그것을 고정. IE8에서 하드 새로 고침 (shift-reload)을 수행하여 변경 후 새 JS를 선택하십시오.

관련 문제