我有一个多面板 jQuery 布局,并且想在调整大小时知道内部中心面板的大小。document.ready 函数如下所示:
$(document).ready(function () {
outerLayout = $('body').layout({
spacing_open: 8
, south__spacing_open: 4
, north__minSize: 40
, north__maxSize: 200
, center__onresize: resizeInnerLayout
, resizeWhileDragging: true
, triggerEventsWhileDragging: true
});
这是 resizeInnerLayout 函数:
function resizeInnerLayout() {
var width=$('#content-middle').width();
var height = $('#content-middle').height();
console.log("content-middle size = ("+width +"," +height +")");
};
这是html:
<div id="content-middle" class="inner-center">
<svg></svg>
</div>
Javascript 在 svg 中放置了一个 d3 图表。我需要知道 div 的大小,因为当用户滑动分隔条时它会调整大小,以便我可以相应地调整图表的大小。目前,console.log 没有输出任何内容。
我还尝试将函数绑定到 layoutpaneresize 事件,如下所示:
$('.inner-center').bind('layoutpaneresize', function(paneName, $pane, paneState, paneOptions) {
console.log("content-middle size = ("+paneState.width +"," +paneState.height +")");
});
但它也没有输出。这也没有:
$('.inner_center').resize(function() {
console.log("content-middle is being resized");
});
这一个有效,但只有在调整浏览器窗口大小时才有效,而不是在调整窗口内的拆分器大小时。即使这样,它也会在您开始调整大小时报告大小,但不会随着大小继续变化而更新。
window.addEventListener("resize", drawChart);
有任何想法吗?