事件/动画完成后每次调用函数

时间:2011-09-13 11:00:40

标签: jquery internet-explorer

我正在使用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);

我认为将它逐一添加是荒谬的,我使用了大量的jquery事件。

1 个答案:

答案 0 :(得分: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');