2011-09-13 146 views
0

我正在使用字體的面部修復IE瀏覽器,它使用過濾器,但每次我使用jQuery時,jQuery將取代過濾器和字體修復將不再工作。每次事件或動畫完成後,如何回調字體修正功能?事件/動畫完成後每次調用函數

字體面部修復網址:http://allcreatives.net/2009/12/05/jquery-plugin-ie-font-face-cleartype-fix/

字體面部功能:

(function(jQuery) { 
    jQuery.fn.ieffembedfix = function() { 

    // CONFIGURE THE PATH TO YOUR 1BY1 PNG HERE, RELATIVE TO THE LOCATION OF THIS JS FILE. 

    var pngimgurl = "/images/hIEfix.png"; 

    return this.each(function() { 
     if (jQuery.support.objectAll == false) { 
      jQuery(this).css({ 
       filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + pngimgurl +  ',sizingMethod=crop)', 
       zoom: '1' 
      }); 
     } 
    }); 
} 
})(jQuery); 

我認爲這是荒謬的1 1添加它,我用了很多jQuery的事件。

回答

0

你可以發佈你的代碼嗎?如果你使用一個刪除過濾器的函數,那麼只需在當前打斷它的任何函數的末尾再次調用下面的ieFFEmbedFix函數即可。 我使用的代碼是從原來的稍微修改。對於我的IE8下面的代碼位從未返回false:

if (jQuery.support.objectAll == false) { 
    // Not being hit 
} 

所以這是我用:

(function($) { 
    $.fn.ieFFEmbedFix = function(pathToPngImgUrl) { 
     return this.each(function() { 
      //Check for IE7/8 
      if ($.browser.msie && $.browser.version < 9 && $.browser.version > 6) { 
       $(this).css({ 
        filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + pathToPngImgUrl+ ",sizingMethod=crop', 
        zoom: '1' 
       }) 
      } 
     }); 
    } 
})(jQuery); 

,然後打電話:

$('h1, h2, h3').ieFFEmbedFix('../images/hIEfix.png');