script.aculo.us 自动完成卡在输入元素后面

发布于 2024-07-29 06:09:38 字数 153 浏览 4 评论 0原文

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

I've got several script.aculo.us Ajax.Autocomplete controls on a page and when the drop down div is rendered it's always stuck behind the other text boxes on the page, no matter what I do with zIndex and positioning. The problem occurs in IE and FF. Anyone else run into this? Am I missing something, or is this just life with this control?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜巴黎 2024-08-05 06:09:38

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

Well, in my attempt to strip everything down to the basics to post an example, I actually managed to fix it. Two part solution. Firstly, I had to ditch all the z-index definitions in my controls. They were part of the problem. Secondly, I had to go into the show function of the autocomplete control and add: "update.style.zIndex = 1000;" to the function. My autocomplete drop down divs are now above the controls as needed. Perhaps there's another way I could have done things to avoid modifying the script.aculo.us code, but I'm just happy it's working.

过去的过去 2024-08-05 06:09:38

四页的谷歌搜索,以及稍后的一些时间黑客源代码...好吧,所以这可能已经有一年了,但我想出了如何在 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

然后砰的一声,div的堆突然正确了。 这花了很长时间,我不得不在这里发布。

Four pages of google'ing, and a bit of time hacking source code later ... Ok, so this may be a year old, but I figured out how to do it for version 1.8.3, and this is for whoever else bumps into this.

To get multiple div's to go on top of each other via the z-index:

First, you need a global variable. i.e. :

var global_zindex

then when you initialise the new draggable, in the onStart, give increment it:

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

Now we edit dragdrop.js:435 to look like this:

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

and bam, the div's pile correctly suddenly. This took so long, I had to post this here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文