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.

69voto

James Points 56229

Donnez-lui un identifiant comme "quelque chose", alors :

var something = document.getElementById('something');

something.style.cursor = 'pointer';
something.onclick = function() {
    // do something...
};

Changer la couleur de l'arrière-plan (selon votre question mise à jour) :

something.onmouseover = function() {
    this.style.backgroundColor = 'red';
};
something.onmouseout = function() {
    this.style.backgroundColor = '';
};

34voto

macbirdie Points 9417

<div style="cursor: pointer;" onclick="theFunction()">

est la chose la plus simple qui fonctionne.

Bien sûr, dans la solution finale, vous devez séparer le balisage du style (css) et du comportement (javascript) - lisez à ce sujet. sur une liste à part pour les bonnes pratiques, non seulement pour résoudre ce problème particulier, mais aussi pour la conception de balises en général.

11voto

Bouramas Points 153

Le plus simple d'entre eux :

<div onclick="location.href='where.you.want.to.go'" style="cursor:pointer"></div>

8voto

Liu Peng Points 183

Je suggère d'utiliser jQuery :

$('#mydiv')
  .css('cursor', 'pointer')
  .click(
    function(){
     alert('Click event is fired');
    }
  )
  .hover(
    function(){
      $(this).css('background', '#ff00ff');
    },
    function(){
      $(this).css('background', '');
    }
  );

5voto

ledererc Points 520

Je suggère d'utiliser une classe CSS appelée clickbox et de l'activer avec jQuery :

$(".clickbox").click(function(){
     window.location=$(this).find("a").attr("href"); 
     return false;
 });

Il ne vous reste plus qu'à marquer votre division comme étant cliquable et à fournir un lien :

<div id="logo" class="clickbox"><a href="index.php"></a></div>

Plus un style CSS pour changer le curseur de la souris :

.clickbox {
    cursor: pointer;
}

Facile, n'est-ce pas ?

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