繁体   English   中英

函数中的window.open替换当前选项卡以及打开新选项卡

[英]window.open in a function replaces current tab as well as opens new tab

我有一个有趣的复杂功能我想了解,如果我有window.open作为锚的onclick事件,则根据需要打开一个新选项卡。 如果onclick调用一个函数,而该函数又会调用window.open会打开一个新选项卡,但当前选项卡也会获取新的url。

我可以证明它在这里 ,当你点击链接它工作正常,wheras 这里的URL在结果区域也开的!

谢谢Symeon。

你的第一个case陈述正在落空。 你需要添加一个break

switch (t) {
    case 1: 
        window.open(url,"_blank");
        break;
    case 2: 
        window.location = url;
        break;
}

没有break ,将执行首次匹配的每个case

我也为第二种情况增加了一个break时间,因为通常认为总是break一个案例是一种好习惯。 实际上, JSLint会将缺失的break标记为错误。

在不起作用的示例中,您在switch语句中缺少一个break

function doclick(t, url) {
    switch (t) {
        case 1: window.open(url,"_blank"); break;
        case 2: window.location = url; break;
    }
    return false;
}​

你需要break; 你的case

只有break; 会给你你所需的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM