jQuery";:悬停“;不';t似乎正在使用Internet Explorer

jQuery";:悬停“;不';t似乎正在使用Internet Explorer,jquery,Jquery,如果您查看此页面: 将鼠标放在左上角(大徽标右侧)的“产品”按钮上,然后在显示的菜单上向下移动。如果您离开产品按钮和下拉菜单,它将消失。这是我们的初衷 大徽标是一个透明的PNG。我在产品按钮和下拉菜单上有一个jQuery事件“mouseleave”,当鼠标不再在它们上面时,它会导致菜单消失 当然,如果鼠标移动到徽标上,意味着菜单关闭(因为它不是“mouseleave”容器的子菜单)。我通过添加以下内容来解决此问题: if (!$('img#logo').is(':hover')){ $

如果您查看此页面:

将鼠标放在左上角(大徽标右侧)的“产品”按钮上,然后在显示的菜单上向下移动。如果您离开产品按钮和下拉菜单,它将消失。这是我们的初衷

大徽标是一个透明的PNG。我在产品按钮和下拉菜单上有一个jQuery事件“mouseleave”,当鼠标不再在它们上面时,它会导致菜单消失

当然,如果鼠标移动到徽标上,意味着菜单关闭(因为它不是“mouseleave”容器的子菜单)。我通过添加以下内容来解决此问题:

if (!$('img#logo').is(':hover')){
    $(this).children('div#menu1bg').slideUp(200);
}
换句话说,如果触发了“mouseleave”事件,请首先检查鼠标是否位于徽标(img#logo)上方。如果在徽标上方,请不要关闭菜单

这似乎工作得很好,只是在InternetExplorer中根本不起作用。“:hover”和该浏览器是否存在已知问题?或者是否有其他方法可以编写同样的代码,从而在所有浏览器上都能更好地工作


谢谢大家!

问题不在于jQuery,而在于CSS。IE不受支持CSS标签的欢迎,但它应该在IE7中工作。在任何情况下,请尝试添加严格的
!DOCTYPE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

嗯,理想情况下,我需要在任何最新版本的IE中使用它,因为各种各样的用户都会访问该网站。我的意思是,哪个版本的IE显示了错误谢谢,这很有帮助。我尝试完全去掉“:hover”,而是将元素放在我正在测试的mouseLeave事件中。我把position:absolute放在按钮外面,然后把它放在原来的位置。谢谢@BBDesign不客气,我希望你能在按钮上看到它,并祝你好运
$('img#logo').mouseLeave(function()
{
    $(this).children('div#menu1bg').slideUp(200);
});