jquery脚本在执行后刷新

时间:2011-05-21 14:48:18

标签: jquery

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $(".comment").click(function(){
     $(".commentForm").slideToggle("slow");
  });
});
</script>
</head>

上面的这个脚本将滑入一个from,然后以某种方式再次刷新浏览器并将其恢复到原始模式,用户可以看到该表单,而不是保持隐藏或滑入的表单。

我在Chrome浏览器Chrome和Mozzilla中尝试过两次刷新比firefox更快。

为什么会发生这种情况导致jquery.js?

2 个答案:

答案 0 :(得分:2)

event.preventDefault();添加到您的功能结尾

$('.comment').click(function(e) {
    $('.commentForm').slideToggle('slow');
    e.preventDefault();
});

这将阻止默认功能并避免刷新页面。这不是浏览器问题。

答案 1 :(得分:1)

确保从false事件处理程序返回click取消链接的默认操作:

$('.comment').click(function() {
    $('.commentForm').slideToggle('slow');
    return false;
});

或:

$('.comment').click(function(e) {
    $('.commentForm').slideToggle('slow');
    e.preventDefault();
});

如果此.comment选择器代表<form>或锚点而您没有阻止默认操作,则浏览器只会重定向并且javascript可能没有时间执行。