2010-08-18 24 views
0

我使用下面的Java脚本代码:JS在Opera:row.bgColor变化引起的问题

function activeTr(row) { 
    row.bgColor='#F1E1D1'; 
    document.body.style.cursor = 'pointer'; 
} 

function inactiveTr(row) { 
    row.bgColor='transparent'; 
    document.body.style.cursor = 'default'; 
} 

所属下面的HTML:

<table> 
    <tr bgcolor="transparent" class="" onclick="showFoo('1')" onmouseout="inactiveTr(this)" onmouseover="activeTr(this)"> 
     <td>fooburg</td> 
    </tr> 
</table> 

一切工作正常与activeTr(),但inactiveTr()切换为浅绿色而不是透明背景。此问题仅在Opera的当前版本中出现(包括Windows & Mac)。 Firefox/Chrome/Safari在相同平台上的行为正确。

问题:请让我知道如果你有想法如何解决这个问题。

+0

你试过'row.bgColor = ''''或'row.style.backgroundColor ='transparent''呢? – Boldewyn 2010-08-18 20:46:31

回答

0

有时需要解释问题才能找到解决方案。我调整了Java脚本名为hover以下(需要jQuery的),并创建了一个CSS类:

function activeTr(row) { 
    document.body.style.cursor = 'pointer'; 
    $(row).addClass("hover"); 
} 

function inactiveTr(row) { 
    $(row).removeClass("hover"); 
    document.body.style.cursor = 'default'; 
} 

一切按目前预计,即使在歌剧;-)