在我的rails3项目中,我必须在视图文件中实现一个简单的文本字段,一个div和一个自动完成帮助器。自动完成在IE以外的所有浏览器中都能正常运结果落入的div元素不断更改其样式属性。这是代码。
.. #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中,自动建议框错位到页面中的其他部分。每当有来自服务器的响应时,都会动态地将style属性添加到该div元素。
我正在使用最新的rails自动填充插件https://github.com/fidel/auto_complete。请帮忙,我几个小时都遇到了这个问题。
答案 0 :(得分:0)
我遇到了同样的问题。显然,Prototype的getOffsetParent函数和IE8是一个问题:
原型相当令人尴尬的是,由于该主题是从2009年3月开始,所以仍然没有修复。
无论如何,正如该线程中有人提到的那样,您可以编辑prototype.js文件并将getOffsetParent的第一行更改为:
getOffsetParent: function(element) {
if (element.offsetParent && Element.visible(element)) return $(element.offsetParent);
...
&& Element.visible(element)
是新部分。这为我修好了。确保在IE8中进行硬刷新(shift-reload),以便在更改后获取新的JS。