我只是想尝试一个非常简单的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-->
知道我做错了吗?
答案 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;
});
});