Comme d'autres l'ont dit, il n'y a pas de moyen facile. Voici un code que j'ai utilisé dans le passé pour détecter si une barre de défilement est présente.
// Used like $('#my-id').hasScrollbar();
jQuery.fn.hasScrollbar = function() {
var scrollHeight = this.get(0).scrollHeight;
//safari's scrollHeight includes padding
if ($.browser.safari)
scrollHeight -= parseInt(this.css('padding-top')) + parseInt(this.css('padding-bottom'));
if (this.height() < scrollHeight)
return true;
else
return false;
}
Vous devez manuellement cette fonction après l'ajout ou la suppression du contenu de la div et il ne sera probablement fonctionnera que si vous l'appelez sur des éléments visibles, mais il vaut mieux que de commencer à partir de zéro.
Il n'y a pas un tel événement. – vooD
Jetez un oeil à la solution d'OrganicPanda sur ce sujet: [http://stackoverflow.com/questions/2175992/detect-when-window-vertical-scrollbar-appears](http://stackoverflow.com/questions/2175992/ detect-when-window-vertical-scrollbar-apparaît) –
Copie possible de [Détecter lorsque la barre de défilement verticale de la fenêtre apparaît] (http://stackoverflow.com/questions/2175992/detect-when-window-vertical-scrollbar-appears) – user