嵌入对象后面的jquerycombobox(仅限IE)
在Internet Explorer中,我有一个jquerycombobox,它在嵌入对象后面打开(例如pdf文档)。 如何确保combobox始终位于嵌入对象的前面?
看到这个小提琴的例子: http : //jsfiddle.net/RDd3A/258/ (更新的小提琴包含我试图解决它)
HTML:
Select one... Really long stuff that might wrap Normal Stuff
使用Javascript:
$("#combobox").combobox();
(我已经剥夺了所有的CSS)
我已经尝试过以下方法:
- 使用wmode =“transparant”作为属性
- 在url中使用?wmode = transparant
- 使用iframe
- 使用z-index
不幸的是,这无济于事,combobox仍然落后于嵌入式文档。 任何人?
这是一个已知的IE问题,我之前做了一个调查,我知道的唯一方法已经被@Gyum Fox提到 – 另一个’掩码’ iframe
。 但是,您不必在元素之间放置iframe – 您可以将绝对定位的iframe
放在具有100% 高度和宽度的相应元素中。 要放在元素内部的iframe的CSS:
iframe.ie-fix { position: absolute; border: none; top: 0; left: 0; height: 100%; width: 100%; z-index: -1; }
jQuery动态构造菜单内容的问题,因此我们需要处理一些事件来插入掩码。 这个简单的代码为页面上的所有菜单添加了掩码。 然而,这并不是一个完整的解决方案,
$('.ui-button').click(function() { $('.ui-menu').append("" ); });
理想情况下,我们只需更新相应的菜单,但我需要深入研究jQuery的源代码才能实现这一目标,稍后会尝试解决。
JS小提琴完整的例子
这是一个IE问题。 我在JQuery UI中的modal dialog中使用combobox时遇到了类似的问题。 combobox在Chrome或Firefox中运行良好。 我发现解决该问题的唯一方法是将其放在iframe
。 我在modal dialog中为我工作。
IE和JQuery似乎可以很好地协同工作,只要你不做任何太花哨的事情。 我也尝试在modal dialog中放置选择框,它也不起作用。 我必须嵌套时避免使用两个JQuery UI元素。
由于udalmik首先回答,你应该使用他的实现。