我的 html body 标记中有一个可调整大小的 svg 元素。但是,当我调整它的大小时,没有调用任何函数。
这是我的 jQuery 代码:
$(document).ready(function () {
$('body').on('resize', 'svg', function() {
console.log('svg is resizing');
});
});
当 svg 元素的大小发生变化时,应调用此函数。但是,我在控制台中没有看到任何“svg is resizing”输出。请解释为什么此代码没有被调用。
最佳答案
在正常使用中,resize
事件仅在窗口大小调整时发送到 window
对象 - 这是浏览器触发该事件的唯一一次。您可以使用 .trigger() 函数在任何元素上以编程方式触发该事件,但是当元素大小发生变化时通常不会触发 resize
事件,并且如果您知道何时触发该事件,您可以无论如何,都可以在事件处理程序中运行代码。
也就是说,您并不是运气不好——它只是需要比这更多的代码。以下是上一个问题的链接,可能对您实现目标有用:Determining if a div changes height .
关于javascript - 当元素的大小发生变化时,调整大小事件处理程序不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23476433/