Jquery 如何检测div调整大小?
我有一个地图画布,需要在调整大小时进行检查。默认的Jquery 如何检测div调整大小?,jquery,resize,listener,Jquery,Resize,Listener,我有一个地图画布,需要在调整大小时进行检查。默认的min height为200px 调整大小的方法是单击一个按钮,并向div添加一个额外的类。这个额外的类将min height的值更改为350px 我没有成功地在div上添加侦听器。因此目前唯一有效的解决方案是按钮上的.on('click)事件 $('#resize').on('click', function(){ setTimeout(function () { google.maps.even
min height
为200px
调整大小的方法是单击一个按钮,并向div添加一个额外的类。这个额外的类将min height
的值更改为350px
我没有成功地在div上添加侦听器。因此目前唯一有效的解决方案是按钮上的.on('click)
事件
$('#resize').on('click', function(){
setTimeout(function () {
google.maps.event.trigger(map, "resize");
map.fitBounds(bounds);
}, 500);
});
我尝试了以下解决方案,但没有成功:
// Attemt 1
google.maps.event.addDomListener(document.getElementById('map-canvas'), 'resize', function() {
google.maps.event.trigger(map, "resize");
map.fitBounds(bounds);
});
// Attemt 2
google.maps.event.trigger(map, "resize");
map.fitBounds(bounds);
});
// Attemt 3
$(window).resize(function() {
google.maps.event.trigger(map, "resize");
map.fitBounds(bounds);
});
你可以看到我的眼睛
有人知道我是如何做到这一点的吗?div不会触发resize,因此您无法侦听该事件的发生,然后执行代码。但是,您可以做的是以下几点,我已经对它进行了测试,它可以正常工作
$(window).on('resize', function(){
$('#map-canvas').trigger($.Event('resize'));
map.fitBounds(bounds);
});
$('#map-canvas').bind('resize', function(){
$('#map-canvas').toggleClass('resize');
});
触发“resize”事件,然后绑定到它。div不会触发resize,因此您无法侦听该事件的发生,然后执行代码。但是,您可以做的是以下几点,我已经对它进行了测试,它可以正常工作
$(window).on('resize', function(){
$('#map-canvas').trigger($.Event('resize'));
map.fitBounds(bounds);
});
$('#map-canvas').bind('resize', function(){
$('#map-canvas').toggleClass('resize');
});
触发一个“调整大小”事件,然后绑定到它就可以了。这并不能直接回答这个问题,但在Chrome开发者论坛上的这篇文章中,有一些关于不同方法的有用讨论,以及实现的链接,内容是关于删除非标准的“overflowchanged”这曾经提供了一个解决方案:这并没有直接回答这个问题,但在Chrome开发者论坛的这篇文章中,有一些关于不同方法的有用讨论,以及实现的链接,这篇文章是关于删除非标准的“overflowchanged”这曾经提供了一个解决方案:整个要点是在div的
resize
事件/操作上有一个侦听器,这样我就不必使用$('#resize')。on('click',function()…
No,因为我没有更改窗口,只是窗口中的一个DOM元素。打开JS FIDLE并自己测试它。关键是在div的resize
event/action上有一个侦听器,这样我就不必使用$('#resize')。on('click',function()…
No,因为我没有更改窗口,只是窗口中的一个DOM元素。打开JS FIDLE并自己测试它。
$(window).on('resize', function(){
$('#map-canvas').trigger($.Event('resize'));
map.fitBounds(bounds);
});
$('#map-canvas').bind('resize', function(){
$('#map-canvas').toggleClass('resize');
});