动态文本大小JavaScript无法在IE中运行

时间:2013-12-16 16:14:20

标签: javascript css internet-explorer

我正在使用以下Javascript来使字体大小动态化。问题是,它在IE中不起作用。

我能做些什么来解决这个问题吗?

或介绍一个后备?


<script>
var fontFix = function () {
    var width = window.innerWidth || document.documentElement.clientWidth;
    document.body.style.fontSize = width + "px";
};
window.addEventListener('resize', fontFix);
window.addEventListener('load', fontFix);
</script>

1 个答案:

答案 0 :(得分:2)

较早版本的IE使用attachEvent方法而不是addEventListener。为了使方法具有通用性,您可以使用类似这样的东西

if (window.addEventListener) {
    window.addEventListener('resize', fontFix);
    window.addEventListener('load', fontFix);
} else {    
    window.attachEvent('onresize', fontFix);
    window.attachEvent('onload', fontFix);
}   

注意:如果可能,我建议使用jQuery,它可以很好地处理这种跨浏览器问题。使用jQuery很简单:

$(window).bind('resize load', function() {
   $('body').css('font-size', $(window).width())
})