2010-05-22 140 views
3

我點擊了下面的HTML和下面的java腳本來模擬背景顏色的變化,但它似乎不起作用。任何理由?模擬點擊鏈接時改變背景顏色

如果我只處理了onmousedown事件,背景顏色肯定會變成藍色。但是,如果onmousedown和onmouseup都處理完畢,則視覺上不會有任何變化。

<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'; 
} 

回答

0

試試這個:

<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

嗯,仍然不起作用。 – tom 2010-05-22 07:43:34

+0

@tom:看到我更新的答案plz。 – Sarfraz 2010-05-22 07:48:06

+0

是的,現在有用!謝謝! – tom 2010-05-22 07:54:00

0

除了什麼Sarfraz建議(style.backgrounColor VS style.background),你不需要逃避在你的事件函數調用的報價:

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

用戶單引號或雙引號。再次,沒有必要逃避報價(\「)。

+0

正確,這是一個糟糕的錯誤,現在我所看到的只是onmouseup被處理,顏色被改變該事件,但顏色不會爲onmosuedown事件更改,爲什麼? – tom 2010-05-22 08:03:32