jquery - 我可以检测浏览器调整大小事件吗?

标签 jquery html canvas resize

我正在构建一个简单的 4 Pane 对象编辑器,但 Canvas 大小调整有点问题。我了解到我不应该在 CSS 中调整 Canvas 大小,而应该定义明确的像素宽度和高度。我一直在尝试设置所有内容,以便在调整浏览器大小时动态调整所有内容的大小,因此我基本上有一个 5x5 的表格,其中第 1,3 行和第 5 行的高度为 5px,第 1,3 列和第 5 列的高度为宽度为 5 像素。剩下的四个单元格大小都相同。

我在每个找到的表格单元格内放置了一个 div,并使用 CSS 为该 div 提供了背景和边框,以及 0px 的填充。我没有指定宽度或高度(但我也尝试过 100%)。

我在每个 div 内放置了一个 Canvas ,并且在所有内容都布置好之前不指定尺寸。之后,我读取其中一个表格单元格的宽度和高度,并据此设置每个 Canvas 的大小。它工作得很好,除了每个 Canvas 的底部和它包含的 div 的边框之间有一个奇怪的 3px 间隙。对于表格,我指定了 padding: 0px;边框间距:0px;和边框折叠:折叠;对于 td 单元格,指定填充:0px;

差距是问题#1。

第二个问题是,由于每个 Canvas 都定义了其宽度和高度,因此屏幕上的所有其他组件都会随着窗口大小的变化自动调整大小,但 Canvas 元素保持固定。我可以以某种方式检测窗口大小调整事件并重新生成 Canvas 元素吗?理想情况下,由于在可见时调整大小有点慢,所以我想在调整大小开始时隐藏或删除元素,并在调整大小完成时重建并显示它们。 ???

最佳答案

$(window).resize(function() {
    // handle accordingly
});

关于jquery - 我可以检测浏览器调整大小事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9487347/

相关文章:

javascript - 无法调整div的高度

javascript - 如何在此代码中显示 php 代码?

javascript - HTML Canvas - 在间隔后绘制形状

javascript - HTML5 Canvas : Applying a gradient to shadow

jquery - jquery中附加元素的间距不同

php - Jquery UI 复选框 - 仅当选中所有子类别时才检查类别

javascript - jQuery通过Checkbox更新mysql

css - 更改透明div中文本的颜色

javascript - 在 Canvas 中使用 ctx.scale() 方法时,调整大小和旋转在 fabricjs 中不起作用?

jquery - 复杂的动态表结构HTML