45 votes

comment rendre une division cliquable ?

<div><span>shanghai</span><span>male</span></div>

Pour une division comme ci-dessus, lorsque la souris est dessus, elle doit devenir curseur:pointeur, et lorsqu'elle est cliquée, elle déclenche un

fonction javascript, comment faire ce travail ?

EDITAR et comment changer la couleur de fond de la division lorsque la souris est activée ?

EDIT ENCORE Comment faire en sorte que le premier span ait une largeur de 120px ? Il semble que cela ne fonctionne pas dans Firefox.

3voto

Bjorn Tipling Points 16243

Ajouter le en cliquant sur attribut

<div onclick="myFunction( event );"><span>shanghai</span><span>male</span></div>

Pour faire changer le curseur, utilisez La règle du curseur de css .

div[onclick] {
  cursor: pointer;
}

Le sélecteur utilise un sélecteur d'attributs qui ne fonctionne pas dans certaines versions d'IE. Si vous voulez supporter ces versions, ajoutez une classe à votre div.

2voto

alexn Points 25639

Comme vous avez mis à jour votre question, voici un exemple obtrustif :

window.onload = function()
{
    var div = document.getElementById("mydiv");

    div.style.cursor = 'pointer';
    div.onmouseover = function()
    {
        div.style.background = "#ff00ff";
    };
}

2voto

Rakesh Juyal Points 8023
<div style="cursor: pointer;" onclick="theFunction()" onmouseover="this.style.background='red'" onmouseout="this.style.background=''" ><span>shanghai</span><span>male</span></div>

Cela changera également la couleur de l'arrière-plan

1voto

pho3nix Points 3288

Si ce div est une fonction, je suggère d'utiliser cursor:pointer dans votre style comme style="cursor:pointer" et vous pouvez utiliser la fonction onclick.

comme ceci

<div onclick="myfunction()" style="cursor:pointer"></div>

mais je vous suggère d'utiliser un framework JS comme jquery ou extjs

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X