2010-12-23 50 views
1

正確顯示在我的Rails3中的項目,我必須實現一個簡單的文本字段,一個div在我看來,文件自動完成幫手。自動完成適用於除IE以外的所有瀏覽器。結果所在的div元素不斷更改其樣式屬性。這裏是代碼。原型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

有同樣的問題:( – 2011-01-04 03:57:35

回答

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年3月

不管怎麼說,正如有人在該線程中提到,您可以編輯您的prototype.js文件和getOffsetParent的第一行改成這樣:

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

&& Element.visible(element)是新零件。這爲我修好了。請確保在IE8中進行硬刷新(shift-reload),以便在更改後獲取新的JS。