Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery在常规DOM对象上触发事件调整大小_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery在常规DOM对象上触发事件调整大小

Javascript 如何使用jquery在常规DOM对象上触发事件调整大小,javascript,jquery,Javascript,Jquery,窗口大小调整时发生事件 $(window).resize(function() { ... }); 但是如果我想在任何类型的DOM对象上触发事件,比如: $('div#myDiv').resize(function() { ... )); 但上述措施似乎并不奏效。这可能而且方便吗?还是其他好方法?这是不可能的,但也不应该是必要的。如果div根据窗口大小(即通过媒体查询)更改大小,只需使用$(window).resize()。如果它是通过其他javascript代码更改的,您应

窗口大小调整时发生事件

$(window).resize(function() {
    ...
});
但是如果我想在任何类型的DOM对象上触发事件,比如:

$('div#myDiv').resize(function() {
    ...
));

但上述措施似乎并不奏效。这可能而且方便吗?还是其他好方法?

这是不可能的,但也不应该是必要的。如果div根据窗口大小(即通过媒体查询)更改大小,只需使用$(window).resize()。如果它是通过其他javascript代码更改的,您应该直接挂接到该代码中

如果您愿意,您可以在div上触发一个resize事件并监听该事件,但是您仍然可以手动触发该事件-例如

$('div#myDiv').on('custom_resize', function() {
    ...
));

// whenever you change div size
$('div#myDiv').trigger('custom_resize');
如果您无法访问更改div的代码,您可以轮询宽度/高度的更改,例如(仅针对宽度):

如果要动态添加图像,这应该可以:

$('<img>').on('load', function() { ... })
          .attr('src', {img url})
          .appendTo({container})

$('此插件提供了基于元素创建调整大小事件的功能:

跨浏览器、基于事件的元素大小检测

简而言之,此实现不使用内部计时器来检测 大小改变(就像我发现的大多数实现一样)。它使用滚动 大多数浏览器上的事件,以及IE10及以下版本上的onresize事件

使用的方法不仅检测javascript生成的调整大小更改 但也可以对CSS伪类进行更改,例如:hover、CSS 动画等等


像这样吗?我的问题是:div中有几个图像。当加载图像时,div将更改其大小,我希望它触发。那好,在这种情况下,您应该侦听图像的加载事件:
$('img')。on('load',function(){…})
但这对我的问题不是很明确:我想在所有图像都准备好之后触发它。但我不想关心那里有什么图像,而且,
$('img')。load()
似乎不是对每个图像都触发。只要图像没有动态添加,你可以尝试
$(窗口)。on('load',…)
?是的,我可以这样做,但当图像被动态添加时,解决方案仍然远远不是我想要的。谢谢你,可能正是我想要的。
$('<img>').on('load', function() { ... })
          .attr('src', {img url})
          .appendTo({container})