У меня есть многопанельная компоновка 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 помещает диаграмму d3 в SVG. Мне нужно знать размер 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);
Есть идеи?