jQuery: Comment lier un événement à la div lorsqu'il devient visible?

J'ai un élément div:
<div id="tab1">
Tab data
</div>
.

Comment lier un événement personnalisé lors de cette div devient visible (obtient display: block;)?

Et je tiens aussi à lier un événement lors de cette div devient invisible (obtient display: none;).

J'aimerais le faire en jQuery.

Edit:
Je suis en train de faire simple onglets avec le contenu ajax. Je veux que le contenu de ce onglets en ajax-mis à jour uniquement lorsque l'onglet est visible.

Pouvez-vous donner un peu plus de contexte à ce que vous faites?
Alors que l'un des commentateurs ci-dessous a donné une solution viable, j'imagine que ce serait plus intelligent de se lier sur des événements personnalisés pour quand les onglets sont commutés. Il est beaucoup plus intelligente que la surveillance de la page contenu de la visibilité.
Merci de partager une partie de votre code Ajax.

OriginalL'auteur SaltLake | 2010-10-04