我的html body标签中有一个可调整大小的svg元素。但是,当我调整它的大小时,不会调用任何函数。
这是我的jQuery代码:
$(document).ready(function () {
$('body').on('resize', 'svg', function() {
console.log('svg is resizing');
});
});
当svg元素的大小改变时,应调用此函数。但是,我在控制台中看不到任何“svg正在调整大小”输出。请解释为什么不调用此代码。
答案 0 :(得分:1)
在正常使用情况下,resize
事件仅在调整窗口大小时发送到window
对象 - 这是浏览器触发的唯一时间。您可以使用.trigger()函数以编程方式触发任何元素,但是当元素大小发生变化时,通常会触发resize
事件,如果您知道何时触发该事件,你可以在事件处理程序中运行代码。
那就是说,你运气不好 - 它只需要比这更多的代码。以下是您在完成目标时可能有用的上一个问题的链接:Determining if a div changes height。
答案 1 :(得分:0)
将此添加到SVG元素:
<svg .... onresize="console.log('resized');">
<g>...</g>
</svg>