Jquery: Comment puis-je configurer un élément masqué à l'écran lorsqu'un autre élément qui est dans le champ?

J'essaie d'afficher une aide contextuelle à côté de champs de formulaire, qui n'est visible que lorsque ces champs sont mis au point ou planait au-dessus. J'ai essayé à l'aide d'une simple CSS, mais les résultats semblent très fragiles et contradictoires.

Voici mon CSS:

form .instruct {
    position: absolute;
    right: -220px;
    top: 10px;
    visibility: hidden;
    width: 200px;
    z-index: 1000;
}
form li:focus .instruct, form li:hover .instruct {
    visibility: visible;
}

Dans mon balisage, j'ai donné ma forme de la structure à l'aide d'une liste ordonnée, le groupement de chaque champ avec des instructions dans un li élément:

<form>
    <ol>
        [...]
        <li>
                <label for="message">Message</label>
                <textarea id="message" name="message"></textarea>
                <div class="instruct">
                    <p>Instructional text and <a href="#">Formating help.</a></p>
                </div>
        </li>
        [...]

Les instructions apparaissent à l'écran lorsque le curseur sur le champ, mais pas lorsque le champ est dans le champ-et si les déplacements de la souris pour sélectionner un lien dans le contexte des instructions, ils disparaissent.

Chaque domaine a ses propres instructions, et j'ai besoin de chacun d'apparaître lorsque le champ est dans le champ ou à l'état de pointage.

J'ai pensé que ce pourrait être un cas où jquery pourrait rendre la vie plus facile. Est-il un moyen rapide de faire cela? Si il y a un fiable façon de le faire à l'aide de matières CSS, je serais heureux avec cela aussi.

Merci!

vous voulez tous à afficher lors de votre textarea est au point?

OriginalL'auteur John Stephens | 2009-04-23