悬停不在IE9中使用iFrame

时间:2012-09-21 19:30:27

标签: jquery iframe internet-explorer-9 hover

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

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

它工作正常,除了在IE9中,鼠标悬停工作,但一旦鼠标进入iFrame区域,它就会消失,使用户无法填写表格。

我已经读到这是出于安全原因的目的 - 但必须有办法解决它。

我最初遇到这个问题时,我自己的形式没有iFrame,并且使用CSShover3.htc,它在IE中运行良好,所以我很确定这是一个iFrame问题。

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

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

非常感谢任何帮助。 卡丽

1 个答案:

答案 0 :(得分:1)

您可以使用这个小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 {