jquery触发器('resize')函数只能工作一次吗?

时间:2016-08-19 09:08:31

标签: javascript jquery

我有这两段代码

function fixFooter() {
    var wrapper = $('#disqus_wrapper').height();
    if ( wrapper > 200 ) { 
        $(window).trigger('resize');
    }
};

var element = $('#disqus_wrapper');
new ResizeSensor(element, function() {
    fixFooter();
});

预期的效果是每次div#disqus_wrapper改变高度时窗口都会调整大小。 (修复评论和页脚重叠)

代码可以运行,但只在页面加载后运行一次。我需要它每次div高度变化时调整大小。我试着通过警报切换触发器('resize')功能,一切都很完美。知道为什么触发器('resize')只能工作一次,我该如何解决?

更新;

html就是这个,因为我正在加载Disqus评论系统

<div id="disqus_wrapper"><div id="disqus_thread"></div></div>

为了检测div高度变化我正在使用这个库 https://github.com/marcj/css-element-queries(ResizeSensor.js)

1 个答案:

答案 0 :(得分:0)

您需要在窗口调整大小事件中调用函数fixFooter()

    $( window ).resize(function() {
       fixFooter();
    });