我有一个有趣的复杂功能我想了解,如果我有window.open作为锚点的onclick事件,则会根据需要打开一个新选项卡。如果onclick调用一个函数,而该函数又会调用window.open会打开一个新选项卡,但当前选项卡也会获取新的url。
我可以证明它here当你点击链接时它可以正常运行,而here网址也会在结果区域中打开!
由于 Symeon。
答案 0 :(得分:5)
您的第一个case
声明正在落空。您需要添加break
:
switch (t) {
case 1:
window.open(url,"_blank");
break;
case 2:
window.location = url;
break;
}
如果没有break
,那么首次匹配的case
下方的每个break
都会被执行。
我在第二个案例中也添加了break
,仅仅因为它总是被认为是一个好习惯,总是break
一个案例。实际上,JSLint会将缺少的{{1}}标记为错误。
答案 1 :(得分:2)
在不起作用的示例中,您在switch语句中缺少break
:
function doclick(t, url) {
switch (t) {
case 1: window.open(url,"_blank"); break;
case 2: window.location = url; break;
}
return false;
}
答案 2 :(得分:1)
您需要break;
case
s。
答案 3 :(得分:0)
只有break;
会为您提供所需的结果。