Вызывайте функцию каждый раз после завершения события / анимации - PullRequest
0 голосов
/ 13 сентября 2011

Я использую исправление лица шрифта для IE, оно использует фильтр, но каждый раз, когда я использую jquery, jquery заменит фильтр, и исправление лица шрифта больше не будет работать. Как мне вызывать функцию исправления лица шрифта каждый раз, когда любое событие или анимация были завершены?

URL-адрес исправления шрифта: 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.

1 Ответ

0 голосов
/ 22 марта 2012

Можете ли вы опубликовать свой код?Если вы используете функцию, которая удаляет фильтр, просто вызовите ниже приведенную ниже функцию 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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...