2011-09-01 66 views
0

如何在點擊文字鏈接時解除文字鏈接的懸停不透明效果?如何在點擊文字鏈接時更改文字鏈接的懸停不透明效果?

例如,

a.test { 
    text-decoration:none; 
} 

a.test:hover { 
    text-decoration:none; 
    opacity:0.6 !important; 
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; 
    filter:alpha(opacity=60) !important; 
} 

<a href="#" class="test">Click Me</a> 

$(".test").click(function(){ 
    $(this).unbind('mouseenter mouseleave'); 
    return false; 
}) 

我不想不透明度懸停效果點擊的時候。

這裏是link

編輯:

我寧願不砍類的解決方案。可能嗎?

+0

http://stackoverflow.com/questions/436629/how-do-i-remove-hover可能出現重複。 – Femi

+0

你不能明確地解除綁定的東西:) – yoda

回答

0

這是一個解決方案,它添加了一個類,用於重置不透明度與CSS。

a.test:hover { 
    opacity:0.6 !important; 
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; 
    filter:alpha(opacity=60) !important; 
} 

a.test.clicked:hover { 
    opacity:1 !important; 
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; 
    filter:alpha(opacity=100) !important; 
} 


<a href="" class="test">Click Me</a> 


$(".test").click(function(){ 
    return false; 
}); 

$(".test").mousedown(function(){ 
    $(this).addClass('clicked'); 
}); 

$(".test").mouseup(function(){ 
    $(this).removeClass('clicked'); 
}); 
+0

我想使用類黑客是最好的解決方案! – laukok

0

如果您無法修改創建:hover狀態的CSS,請使用樣式。

$('.test').css({'opacity':'1.0 !important','-ms-filter':'',filter:'none !important'}); 

內聯樣式應該比CSS樣式更高的優先級。

+0

這是不行的,因爲$ .css(...)設置元素的內聯樣式,而不是當它被徘徊時的樣式。 – buritos

+0

內聯樣式優先於懸浮狀態,因此它將覆蓋懸停狀態。 – MightyE