Javascript - 如何检测元素宽度变化?

标签 javascript jquery css resize width

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

我已经尝试过 -

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

但这并没有奏效。

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

最佳答案

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

你可以这样做:

$(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);
}

关于Javascript - 如何检测元素宽度变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37631759/

相关文章:

javascript - foreignObject Spinner 在 Firefox 中被剪裁

javascript - react : How to make sure that requested data are available before rendering?

javascript - 使用jquery设置输入元素的值

javascript - 根据内容高度调整 iframe 高度

javascript - node.js 相当于标准的 PHP ajax 保存方案

php - Plupload Onload 显示上传文件列表

javascript - 根据选择选项(下拉)显示/隐藏表单域

JQuery:附加后访问动态元素

html - 在 Selenium 中自动执行下拉菜单而不选择

html - 创建具有真正透明背景的 CSS 三 Angular 形