Quiero poder usar ResizeObserver en varios elementos de mi página, y cada uno activará la misma llamada de función (en el elemento redimensionado). Pero, lamentablemente, en lugar de objetos DOM, la función parece recibir objetos vacíos.
Dado uno o más...
<div id="test" class="rg_toggle">Test</div>... este código ...
function fixToggle( toggleElement) { alert(JSON.stringify(toggleElement, ["id", "className")); } const resizeObserver = new ResizeObserver(entries => { for (let entry of entries) { fixToggle(entry) } }); const toggles = document.querySelectorAll('.rg_toggle'); toggles.forEach(toggle => { resizeObserver.observe(toggle); });solo muestra {} en el cuadro de diálogo de alerta, cuando esperaba la identificación y el nombre de clase. Aquí está mi CodePen .
Puede acceder al elemento que se está observando a través entry.target :
const resizeObserver = new ResizeObserver((entries) => { for (let entry of entries) { fixToggle(entry.target); } });