Как изменить эффект прозрачности при наведении на текстовую ссылку, когда она нажата? - PullRequest
0 голосов
/ 01 сентября 2011

Как отменить привязку при наведении к текстовой ссылке, когда она нажата?

Например,

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

Мне не нужен этот эффект наведения непрозрачности при нажатии.

Вот ссылка .

EDIT:

Я бы предпочел решение без взлома классов. Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 01 сентября 2011

вот решение, которое добавляет класс, который используется для сброса непрозрачности с помощью 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 голосов
/ 01 сентября 2011

Если вы не можете изменить CSS, который создает состояние :hover, используйте стили.

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

Встроенный стиль должен иметь более высокий приоритет, чем стили CSS.

...