1

请看一下我的以下 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;

}
    }
4

1 回答 1

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对象和调用stopPropagation,并且preventDefault 会抛出异常,因为没有这样的方法

如果您checkcat在表单提交中调用,请记住包含return以阻止表单提交:

<form onsubmit="return checkcat()">
</form>
于 2013-09-15T08:57:30.177 回答