javascript - window.open 不适用于 _self

标签 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;

}
    }

最佳答案

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

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>

关于javascript - window.open 不适用于 _self,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18810388/

相关文章:

javascript - 如何使用相机API和设置图片到canvas标签

jquery - 调整大小时,同级 div 跳转到新行

javascript - 了解jquery事件被调用的次数以及keyup事件的正确处理

javascript - 所有方法都返回 '.autoNumeric is not a function - Can' t 未格式化的数字

javascript - Ember.js 文本突出显示为粉红色

javascript - 退出脚本或在选项卡中一次运行 Tamerpmonkey Userscript 的方法?

javascript - 使用 jquery 获取选择值和单选值

jquery - id 中带有 $ 的元素无法在 jquery 中更改

javascript - 我如何从 jquery 自动完成 ajax URL 中删除术语参数

javascript - 延迟确定用户的语言