【问题标题】:Javascript - How to detect an element width change?Javascript - 如何检测元素宽度变化?
【发布时间】:2016-10-04 13:06:19
【问题描述】:

在纯 Javascript 和 jQuery 中,如何检测元素的宽度是否发生了变化? 例如,如果在调整窗口大小时元素的宽度根据 css 媒体查询发生变化,如何检测它?

我试过了-

$(element).resize(function() {});

但这没有用。

我在 SO 上找到了关于插件的解决方案。是的,它们可以工作,但是任何纯 Javascript 和基于 jquery 的解决方案?

【问题讨论】:

标签: javascript jquery css resize width


【解决方案1】:

应该将调整大小事件应用于窗口对象。

你可以这样做:

$(document).ready(function() {
    $(window).on('resize', '', {'width':$('.resize-watch').width()}, onResizeWatch);

});

function onResizeWatch(e)
{
    console.log('old width', e.data.width);
    console.log('new width', $('.resize-watch').width());
    $(window).off('resize');
    $(window).on('resize', '', {'width':$('.resize-watch').width()}, onResizeWatch);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 2015-10-16
    • 2013-06-02
    相关资源
    最近更新 更多