2009-10-26 105 views
1

我想要一个解决方案标签:悬停,不工作ie6。我的猜测是必须用javascript来完成。优雅ie6悬停css解决方案

我发现这个补丁:csshover3.htc(http://www.xs4all.nl/~peterned/csshover.html),我检查它的演示!而我没有在我的ie6浏览器上工作!

必须有一个优雅的方式来解决这个非常大的和基本的问题,可能是一个jQuery插件。

任何铅appriciated

回答

5

使用jQuery,您将能够使用悬停功能(http://docs.jquery.com/Events/hover)在悬停上添加类。

例如:

$("li").hover(
    function() { 
    $(this).addClass('ie6-hover'); 
    }, 
    function() { 
    $(this).removeClass('ie6-hover'); 
    } 
); 

然后,您可以使类具有相同的属性。

li:hover, li.ie6-hover { 
    text-decoration: underline; 
} 
+1

+1,打算说一样的。 – Sinan

+0

基于标签的简单解决方案。在他的情况下,我会推荐使用特定的课程来限制页面上的匹配数量。 –

0

有谷歌的ie7-js,但我不知道这是否解决了比透明PNG问题的其他任何东西。

Visibility inherit提供此alternative,它直接解决了mouseOver /:hover问题。

0

如果您在讨论非锚点标签上的mouseover,可以使用jQuery添加事件处理函数来捕获鼠标悬停事件。

0

可能不适用于您的上下文,但您可以随时指出让您的元素具有悬停效果。例如,在导航ul> li>列表中,使用display:block设置一个元素的样式,而不是样式。

1

短的jQuery插件会为我

IE6TableHover: function() 
    { 
     if(jQuery.browser.msie && /6.0/.test(navigator.userAgent)) 
     { 
      $(this).hover(
        function(){ 
         $(this).addClass('jshover'); 
        }, function(){ 
         $(this).removeClass('jshover'); 
        }); 
     } 
    } 

需要jQuery的版本1.2.6这里为1.3.x中你必须改变浏览器的检查。

+0

不幸的是,由于IE6也不能正确支持CSS中的多个类,因此如果试图将这个类应用于具有现有类的元素,这将具有有限的实用性。 – mkoistinen