script.aculo.us autocomplete卡在输入元素后面

时间:2009-07-22 20:58:47

标签: ajax scriptaculous z-index

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

google'ing的四页,稍后有点时间黑客攻击源代码......好吧,这可能是一年之久,但我想出了如何为版本1.8.3做到这一点,这是为了谁也碰到了这个。

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

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

var global_zindex

然后当你初始化新的draggable时,在onStart中,增加它:

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

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

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

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