javascript - 有没有一种方法可以使用 Javascript 检测所有 Ancestor DOM 元素的调整大小/缩放?

标签 javascript css

我有一个包含图表的 DOM 元素

<div id="plot1" class='plot-chart'></div>

这个DIV可以嵌套在多个DIV中

<div id="one" style="width:100%;height:100%;zoom:0.9;">
    <div id="two">
        <div id="three">
            <div id="plot1" class='plot-chart'></div>
            </div>
        </div>
    </div>
</div>

我需要一种方法来检测对绘图 DIV 的所有祖先(父级)的大小/缩放的任何更改,以便我可以相应地缩放或调整它的大小。

window.onresize

这可以检测对整个浏览器窗口的任何更改,但可能存在 DIV 2 或 DIV 3 可能在窗口本身未被操作的情况下发生更改的情况。 Chart DIV 是我正在创建的,可以放置在任何位置,因此在调整大小时从外部调用函数不是解决方案。

为了简化问题,是否有任何方法可以检测对我的对象的任何父 DIV 的更改,以便我可以在内部调用函数?

最佳答案

所以简短的回答是“不”。但是,如果您对调整这些容器 div 大小的情况有任何控制,那么它们 可以触发自定义事件(例如,using jQuery),您的图表可以监听这些事件并做出适当的 react 。

希望这对您有所帮助!

关于javascript - 有没有一种方法可以使用 Javascript 检测所有 Ancestor DOM 元素的调整大小/缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41838004/

相关文章:

jquery easywidgets 在放置小部件然后他们的样式改变之后

html - 为什么我的 CSS 看起来与您的 CSS 不同?

javascript - 结合可拖动和可排序导致 css 高度问题

javascript - 如何读取具有动态 ID 的文本框的文本框值?

javascript - 提交验证后重定向到不同页面

html - 根据背景颜色更改文本颜色

html - CSS Div 链接文本下划线悬停

javascript - 我想为这个径向渐变和 div 生成边框

javascript - 为什么我的 ng-class 会忽略动画?

javascript - angularjs promise /超时: Conditional timeout