jQuery显示/隐藏问题

时间:2010-08-04 00:05:49

标签: javascript jquery show-hide

我只是想尝试一个非常简单的jQuery动作。

我有两个组件:#safety#safety-tab a#safety需要在加载时隐藏。点击#safety-tab中的链接后,它会hide本身,slideUp #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-->

知道我做错了吗?

2 个答案:

答案 0 :(得分: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 :(得分:1)

在点击链接时尝试返回false;

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