我正在使用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事件。
答案 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');