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

Jquery 我可以检测浏览器大小调整事件吗?,jquery,html,canvas,resize,Jquery,Html,Canvas,Resize,我正在构建一个简单的4窗格对象编辑器,画布大小有点问题。我了解到我不应该在CSS中调整画布的大小,而应该定义明确的像素宽度和高度。我一直在尝试设置所有内容,以便在调整浏览器大小时,所有内容都可以动态调整大小,因此我基本上有一个5x5表,其中行1、3和5的高度为5px,列1、3和5的宽度为5px。剩下的四个单元格大小相同 我在找到的每个表单元格中放置了一个div,并使用CSS为该div提供了一个背景和一个边框,以及一个0px的填充。我没有指定宽度或高度(但我也100%尝试过) 我在每个div中放置

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

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

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

差距是问题1

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

试试看:

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