0

我在一个页面上有几个 script.aculo.us Ajax.Autocomplete 控件,当呈现下拉 div 时,无论我对 zIndex 和定位做什么,它总是卡在页面上的其他文本框后面。问题出现在 IE 和 FF 中。还有其他人遇到这个吗?我错过了什么,或者这只是有这种控制的生活吗?

4

2 回答 2

0

好吧,在我尝试将所有内容简化为基础以发布示例时,我实际上设法修复了它。两部分解决方案。首先,我不得不放弃控件中的所有 z-index 定义。他们是问题的一部分。其次,我必须进入自动完成控件的显示功能并添加:“update.style.zIndex = 1000;” 到功能。我的自动完成下拉 div 现在根据需要位于控件上方。也许还有另一种方法可以避免修改 script.aculo.us 代码,但我很高兴它可以正常工作。

于 2009-07-23T01:51:00.323 回答
0

google 了四页,后来又花点时间破解源代码……好吧,这可能已经有一年的历史了,但我想出了如何在 1.8.3 版中做到这一点,这适用于其他遇到问题的人进入这个。

通过 z-index 让多个 div 相互叠加:

首先,您需要一个全局变量。IE :

var global_zindex

然后当你初始化新的可拖动对象时,在 onStart 中增加它:

onStart : function(){
  zIndex++;
},

现在我们编辑 dragdrop.js:435 看起来像这样:

  this.element.style.zIndex = global_zindex //this.originalZ; // HACK HACK HACK

和 bam,div 的堆突然正确。这花了这么长时间,我不得不在这里发布。

于 2010-12-17T07:17:32.790 回答