jQuery正在刷新页面

Mat*_*ern 1 javascript jquery

我遇到了JQuery的问题:每当调用JQuery函数时,只要执行了if块,页面就会刷新.

$(".remove").click(function() {
    removeOption($(this));
});

function removeOption(obj){
if (obj.parent().siblings().size() > 1){
    obj.parent().remove();
}
}
Run Code Online (Sandbox Code Playgroud)

如果执行(obj.parent()...)块,页面将刷新.它不仅限于函数:如果我将if(obj.parent()...)更改为if(true),我也会遇到同样的问题.如果我把removeOption(obj)作为匿名函数放在第一个函数中,我也有问题.这可能是JQuery中的错误,还是有人有任何见解?

小智 6

当您处理链接时单击jquery,您必须禁用默认的behviour.

通过单击链接,您将引发jquery事件,然后调用removeOption($(this)); 但你必须停止默认行为,所以我们使用:

$(".remove").click(function() {
   removeOption($(this));
   return false;
});
Run Code Online (Sandbox Code Playgroud)

在末尾.

另一种方法是调用preventDefault(http://api.jquery.com/event.preventDefault/)方法,如下所示:

 $(".remove").click(function(e) {
   e.preventDefault();
   removeOption($(this));
 });
Run Code Online (Sandbox Code Playgroud)

阿纳斯,

  • 可能不希望"返回false;"因为它也会停止传播.更好的答案是`e.preventDefault`就像你拥有它一样 (2认同)