2010-08-04 233 views
2

我只是想執行一個非常簡單的jQuery操作。jQuery顯示/隱藏問題

我有兩個組件:#safety#safety-tab a,#safety需要加載時隱藏。當單擊#safety-tab中的鏈接時,它將自己hideslideUp#safety

這類作品,但#safety盒只是閃爍的點擊,不留圖所示:

$(document).ready(function() { 
    $("#safety-tab a").click(function() { 
    $(this).hide(); 
    $("#safety").removeClass("hide"); 
    }); 
    }); 

雖然標記是這樣的:

 <div id="safety" class="hide group"> 
     ... 
    </div><!--end #safety--> 
    <div id="safety-tab"> 
     <a href="">...</a> 
    </div><!--end #safety-tab--> 

任何想法,我是什麼做錯了?

+0

你的css在哪裏? – 2010-08-04 00:07:35

回答

6

return false;event.preventDefault()添加到您的點擊處理程序。

$(document).ready(function() { 
    $("#safety-tab a").click(function(event) { 
    $(this).hide(); 
    $("#safety").removeClass("hide"); 
    event.preventDefault(); 
    }); 
}); 

這防止了<a>元件,其被重新載入網頁的默認行爲。

使用event.preventDefault()將保留事件冒泡這有時需要。

return false;會阻止默認行爲,但它也會暫停冒泡。

1

嘗試在您點擊鏈接時返回false;

$(document).ready(function() { 
    $("#safety-tab a").click(function() { 
    $(this).hide(); 
    $("#safety").removeClass("hide"); 
    return false; 
    }); 
    });