2010-05-22 25 views
3

J'ai le HTML suivant et le script java ci-dessous pour simuler le changement de couleur d'arrière-plan lorsque le bloc de lien est cliqué, mais cela ne semble pas fonctionner. Une raison pour laquelle?simuler pour changer la couleur d'arrière-plan lorsque vous cliquez sur le lien

Si je ne gère que l'événement onmousedown, la couleur d'arrière-plan sera définitivement définie en bleu. Mais si onmousedown et onmouseup sont manipulés, rien ne changerait visuellement.

<div class='Button'><a href='mylink' onmousedown=\"changeColorOnMouseDown();\" onmouseup=\"changeColorOnMouseUp();\"><span id='note'>note...</span></a></div> 


function changeColorOnMouseDown() 
{ 
    document.getElementById('note').style.background='blue'; 
} 

function changeColorOnMouseUp() 
{ 
    document.getElementById('note').style.background='#d8dde7'; 
} 

Répondre

0

Essayez ceci:

<div class="Button"><a href="#" onMouseDown="changeColorOnMouseDown();" onMouseUp="changeColorOnMouseUp();"><span id="note">note...</span></a></div> 


function changeColorOnMouseDown() 
{ 
    document.getElementById('note').style.backgroundColor = 'blue'; 
} 

function changeColorOnMouseUp() 
{ 
    document.getElementById('note').style.backgroundColor = '#d8dde7'; 
} 
+0

hmm, ne fonctionne toujours pas – tom

+0

@tom: Voir ma mise à jour réponse plz – Sarfraz

+0

oui, cela fonctionne maintenant! Merci! – tom

0

En plus de ce Sarfraz conseillé (style.backgrounColor vs style.background), vous n'avez pas besoin d'échapper aux citations pour l'appel de fonction dans vos événements:

<a href='mylink' onmousedown="changeColorOnMouseDown();" onmouseup="changeColorOnMouseUp();"> 

Des guillemets simples ou doubles entre guillemets. Encore une fois, pas besoin d'échapper à la citation (\ ").

+0

correct, c'est un mauvais miss .. maintenant, ce que je vois est que seulement onmouseup est manipulé et la couleur est changée pour cet événement, mais la couleur n'est pas modifiée pour l'événement onmosuedown, pourquoi est-ce? – tom