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