IE6:jQuery的pngfix +鼠标悬停事件

问题描述:

我想改变一个img-元件(PNG)当光标击中元素的src-ATTRIB。 它在IE6以外的所有浏览器都能正常工作:(IE6:jQuery的pngfix +鼠标悬停事件

起初脚本通过jQuery PNGfix做了一个pngfix(),所以它用span标签包装了img元素并通过过滤器删除了src内容into the span-tag。

我的想法是,为了从运行时间跨度元素中取得样式/ css/...而不是替换img-tag的src-attrib。这里是一个我的代码片段:

$(document).ready(function(){ 
$('img').bind 
({ 
    mouseover : function() 
    { 
     symbiontStatus = 1; 
     $('img').css('backgroundImage', 'img/img02.png'); 
//... 

在pngfix脚本我添加了一个类来跨度,这样我就可以把它叫做:

$(document).ready(function(){ 
    $('.pngfix').bind 
    ({ 
     mouseover : function() 
     { 
alert('over!'); 
      symbiontStatus = 1; 
      $('.pngfix').css('backgroundImage', 'img/img02.png'); 
    //... 

我不知道拿到img02进入pngfix作为背景。您?也许?

谢谢你, 马里奥

您可以设置图像src属性,然后再调用它pngfix。在此之前,你应该在img标签后删除该插件添加的span因为pngfix将再次创建一个跨度。现在,我们将删除您已绑定,我们将不得不livemouseover/mouseout事件span。试试这个

$(document).ready(function(){ 
    $('.pngfix').live('mouseover', function(){ 
      symbiontStatus = 1; 
      var $img = $(this).prev(); 
      $(this).remove() 

      $img.attr('src', 'img/img02.png').pngfix(); 
    //... 
    }); 
}); 
+0

http://jupiterjs.com/news/why-you-should-never-use-jquery-live(只是一篇不错的文章。) –