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

2 に答える 2

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';
}
于 2010-05-22T07:40:10.343 に答える
0

Sarfraz のアドバイス (style.backgrounColor と style.background の比較) に加えて、イベントの関数呼び出しの引用符をエスケープする必要はありません。

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

ユーザーの一重引用符または二重引用符のいずれか。ここでも、引用符 (\") をエスケープする必要はありません。

于 2010-05-22T07:52:50.797 に答える