2011-09-01 8 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

関連する問題