hover不在IE9中使用iFrame

我正在使用CSS3 MegaMenu,它使用jQuery。 我的一个下拉菜单项使用iFrame显示其他地方托管的联系表单。

你可以在这里看到: http : //www.deepdata.biz (它是右侧主导航栏上的最后一项:’电子邮件’)

它工作正常,除了在IE9中,hover工作将其放下,但是一旦鼠标进入iFrame区域,它就会消失,使用户无法填写表单。

我已经读到这是出于安全原因的目的 – 但必须有办法绕过它。

我最初有这个问题,当我自己的forms没有iFrame和使用CSShover3.htc,它在IE中工作正常,所以我很确定这是一个iFrame问题。

在搜索时我已经阅读了使用Javascript的解决方案: http : //jsfiddle.net/ENXpW/3/ – 但是我在编写Java方面缺乏经验阻碍了我理解它以使其适应我的需求。

我搜索的另一个解决方案是将“电子邮件”链接的hover样式更改为onClick命令,但我再次缺乏使用Javascript的经验阻碍了我如何抓住这样做。

任何帮助将不胜感激。 嘉莉

您可以使用这个小的jQuery代码段和一些CSS修改:

 if($.browser.msie){ $("li.right iframe").hover(function(){ $(this).parents("li.right").trigger("hover"); }); } 

在元素加载后,将它放在JS文件或页面中的任何位置。

然后,你需要创建每个.menu li:hover的副本,这样它也会被.hover类触发,即

.menu li:hover .align_right {

需要成为:

.menu li:hover .align_right, .menu li.hover .align_right {