2012-02-02 33 views
0

我有幾個按鈕,在表中(每行一個按鈕),顯示/隱藏使用jQuery的他們:JS-中所示的元件有一段時間無法訪問

$('#some-id tr').hover(
    function() { $(this).find('.button-class').removeAttr('disabled').css(...); }, 
    function() { $(this).find('.button-class').attr('disabled', true).css(...); } 
); 

它正確地適用於顯示/隱藏。 有時顯示的按鈕不能從瀏覽器訪問按鈕(不要對左右點擊作出反應,瀏覽器不顯示工具提示)。可以通過右鍵單擊瀏覽器窗口的其餘部分(並非總是)來實現。

經過Firefox和Chrome測試。

求解?非常有趣。上面代碼中的.css(...)包含設置background: none/url(image.png)。按鈕沒有文字,因此用disabled="disabled"background: none;隱藏。我試圖簡單地.show()/.hide()並不能重現該問題。很好,但第一版除了冗餘之外有什麼問題嗎?

回答

2

確保您將代碼包裝在jQuery的.ready()函數或其他某些函數中,例如$(window).load()

下面是它會怎樣看與.ready()

$(function() { 
    $('#some-id tr').hover(
     function() { $(this).find('.button-class').removeAttr('disabled').css(...); }, 
     function() { $(this).find('.button-class').attr('disabled', true).css(...); } 
    ); 
});