window.open不为_self工作

时间:2013-09-15 08:23:20

标签: javascript jquery

请看看我的以下js函数。如果我没有_self属性进行重定向,该函数可以正常工作。此外,无论我做了什么,它都没有停止重定向页面本身,我认为这就是为什么_self不能正常工作并且适用于_blank

function checkcat()
    { 
    if ($(".caty").find(".active-cat").length > 0){ 
window.open("http://www.google.com","_self");

// window.open("http://www.google.com","_blank");
}
else
{
alert('Aloha!!!');
// Following I used to strictly stop the redirection but it didnot work :(
stopPropagation();
preventDefault();
return false;

}
    }

1 个答案:

答案 0 :(得分:3)

要阻止页面提交,您需要这样做:

function checkcat() { 
    if ($(".caty").find(".active-cat").length > 0){ 
      window.open("http://www.google.com","_self");
    } 
    else {
      alert('Aloha!!!');
    }

    return false;
}

只有return false才能完成这项工作。在您的方法中,您不会传递event对象并调用stopPropagationpreventDefault 会因为没有此类方法而引发异常

如果您在表单提交中致电checkcat,请记得添加return以阻止表单提交:

<form onsubmit="return checkcat()">
</form>