Je voudrais savoir comment je peux rendre un div cliquable (comme un lien, avec la petite main quand je passe avec la souris).
J'ai des éléments comme celui-ci:
<div class="teamSelector">Some</div>
Avec ce jQuery:
$('.teamSelector').click(function() {
// some functions
});
À votre santé
Vous l'avez déjà rendu cliquable dans votre exemple. Si vous souhaitez qu'il "ressemble" à un clic, vous pouvez ajouter du CSS:
.teamSelector { cursor: pointer; }
Ou continuer avec jQuery:
.click(function() { do something }).css("cursor", "pointer");
Voici la référence d'écoles W3 pour la propriété curseur.
Le css pour cela est:
.teamSelector
{
cursor: pointer
}
Vous pouvez également ajouter des effets de survol, mais je ne sais pas si: actif fonctionnera sur plusieurs navigateurs.
Si vous avez besoin que quelque chose soit cliquable, vous feriez mieux d'utiliser un élément button
ou a
et de le styler. Vous pouvez toujours empêcher l'action par défaut avec javascript. La raison en est que c'est mieux pour l'accessibilité afin que les utilisateurs avec des lecteurs d'écran sachent qu'il y a quelque chose à interagir.
Modifier pour ajouter: Lorsque vous faites défiler une page, vous pouvez appuyer sur la barre d'espacement pour click
un élément. Cela ne fonctionnera pas de la même façon sur les éléments non interactifs, de sorte que toute personne utilisant cette fonctionnalité ne pourra pas utiliser ce que vous créez.
Tu ne peux pas juste, tu sais, en faire un lien et le styler? Ce serait plus facile et accessible.
cette question est assez ancienne mais nécessite quelques ajouts:
si vous souhaitez encapsuler un composant avec une interaction utilisateur basée sur un pointeur, vous devriez préférer l'élément button au lieu d'une div
(vous pouvez toujours l'afficher block
).
<button class="teamSelector" tabindex="1">Some</button>
modes:
.teamSelector{
user-select: none; // this sets the element unselectable, unlike texts
cursor: pointer; // changes the client's cursor
touch-action: manipulation; // disables tap zoom delaying for acting like real button
display: block; // if you want to display as block element
background: transparent; //remove button style
border: 0; //remove button style
}
Nous pouvons montrer un élément div cliquable simplement en ajoutant style = curseur: 'pointeur'. Par exemple:
<div style="cursor: pointer;">edit</div>
Il apportera une petite main lorsque nous allons sur l'élément div avec la souris.