2011-04-07 114 views
1

我有一個綠色的鏈接,使用a:hover CSS屬性。當我點擊鏈接時,此功能被觸發:CSS:懸停JS問題

$("#comment_title_link").toggle(function() { 
     $(this).text('Done'); 
     }, 
    function(){ 
     $(this).text('Add Comment title'); 
    }); 

它改變鏈接的文本。懸停屬性似乎只會在你穿過它所應用的元素的邊界時停止應用。但是,由於我將文本從「添加評論標題」更改爲「完成」,如果將鼠標懸停在單詞「標題」上並單擊,「完成」顯示在我的鼠標左側,因爲完成比添加評論標題。因此,即使當我的鼠標沒有通過鏈接時,仍然應用:hover屬性。我該如何解決這個問題?

+0

這是否發生在所有瀏覽器?這看起來像是瀏覽器中的DOM重繪錯誤。 – 2011-04-07 03:43:12

+0

不是在Firefox中,但在鉻和Safari瀏覽器 – 2011-04-07 03:47:39

+0

我沒有太大的幫助,但它聽起來像webkit的錯誤。點擊後,您可以嘗試在鏈接上調用blur()。 – 2011-04-07 03:53:06

回答

1

一種解決方法是在切換()中通過腳本刪除綠色樣式。當你離開並回過頭來盤旋該文本時,它會再次變成綠色。

最簡單的方法是隻對某一類申請通過CSS懸停效果,並刪除交換文本後類:

//in css: 
A.greenLink:hover 
{ 
    color: green; 
} 

// script: 
$("#comment_title_link").toggle(function() { 
    $(this).text('Done') 
      .removeClass('greenLink'); 
    }, 
function(){ 
    $(this).text('Add Comment title'); 
}); 

理想情況下,你會想弄清楚它的原因,以及是否有你可以做的任何事情(「正確」)。但是,如果這確實是瀏覽器重新繪製/渲染錯誤,那麼也許這種解決方法(儘可能醜陋)可能會有所幫助。

+0

你會怎麼做? – 2011-04-07 03:56:02

-1

添加一個樣式:主動撤消:懸停(匹配正常樣式),當它被點擊時會進入:主動樣式。

+0

這個令人驚訝的不起作用 – 2011-04-07 04:04:53

+0

那麼關注點:重點?我遇到過類似的問題,這些問題之前已經修復過。 – 2011-04-07 04:11:53