J'ai l'exemple html suivant, il y a un DIV qui a une largeur de 100%. Il contient quelques éléments. Lors du redimensionnement de la fenêtre, les éléments internes peuvent être repositionnés, et la dimension de la division peut changer. Je me demande s'il est possible d'accrocher l'événement de changement de dimension de la division et comment le faire. Je lie actuellement la fonction de rappel à l'événement de redimensionnement de jQuery sur la division cible, mais aucun journal de console n'est affiché, voir ci-dessous :
<html>
<head>
<script type="text/javascript" language="javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script type="text/javascript" language="javascript">
$('#test_div').bind('resize', function(){
console.log('resized');
});
</script>
</head>
<body>
<div id="test_div" style="width: 100%; min-height: 30px; border: 1px dashed pink;">
<input type="button" value="button 1" />
<input type="button" value="button 2" />
<input type="button" value="button 3" />
</div>
</body>
</html>
11 votes
Cela ne fonctionnera pas car vous liez l'événement de redimensionnement à l'élément div spécifié. Mais l'événement de redimensionnement sera déclenché pour la fenêtre et non pour votre élément.
0 votes
Vous pourriez utiliser
setInterval
ici comme une solution possible. Vous pouvez toujours lierclearInterval
à un clic de bouton pour arrêter la boucle une fois que votre travail est terminé.10 votes
Depuis 2020, ResizeObserver fonctionne dans tous les principaux navigateurs (Chrome, Safari, Firefox, Edge) sauf IE. caniuse.com/#feat=resizeobserver
1 votes
Il est possible de simuler l'événement de redimensionnement en utilisant une fonction à 3 lignes. Veuillez vérifier cette réponse pour un exemple exécutable.