supposons donc qu'en cliquant sur un élément, un nouveau contenu soit chargé à l'écran, la hauteur du document change alors qu'autrefois, il n'y avait pas de barre de défilement, il y a maintenant des barres de défilement ...
comment puis-je détecter quelque chose comme ça se passe en utilisant jquery
lier un événement de redimensionnement à une fenêtre ne détecte que le redimensionnement de la fenêtre alors que sa liaison au document ne fonctionne pas
Mise à jour:
Veuillez ne pas utiliser l'événement DOMSubtreeModified
. Il est vieux, obsolète et mal supporté par les navigateurs. Dans 99,9% des cas, vous pouvez écouter un autre événement. Vous êtes probablement l'une de ces personnes qui utilise jQuery et qui fait quelques AJAX, alors jetez un coup d'œil à leur AJAX docs .
Ces sont tous les événements disponibles. Vous devez détecter $(document).bind('DOMSubtreeModified', function() { ... });
et vérifier si la dimension a changé par rapport au tir précédent.
var height = $(this).height(),
width = $(this).width();
$(document).bind('DOMSubtreeModified', function() {
if($(this).height() != height || $(this).width() != width) {
recalibrate();
}
});
Cet événement déclenche tous les heure rien est appliqué au DOM. Par conséquent, il va ralentir votre navigateur.
Nous devrions avoir une meilleure alternative. Pourriez-vous s'il vous plaît nous donner plus d'informations sur votre scénario?
Voici la solution.
// ajdust margins when page size changes (ie rotate mobile device)
$(window).resize(function() {
// Do something more useful
console.log('doc height is ' + $(window).height());
});