Reputation: 1541
I have a funny complication i would like to understand, if i have window.open as the onclick event of an anchor, a new tab is opened as required. If the onclick calls a function, which in turn does a window.open a new tab is opened, but also the current tab gets the new url as well.
I can demonstrate it here it works ok when you click on the link, wheras here the url is also opened in the results area as well !
Thanks Symeon.
Upvotes: 4
Views: 2244
Reputation: 4368
In the example that isn't working, you are missing a break
in the switch statement:
function doclick(t, url) {
switch (t) {
case 1: window.open(url,"_blank"); break;
case 2: window.location = url; break;
}
return false;
}
Upvotes: 2
Reputation: 165981
Your first case
statement is falling through. You need to add a break
:
switch (t) {
case 1:
window.open(url,"_blank");
break;
case 2:
window.location = url;
break;
}
Without the break
, every case
below the one that was first matched will be executed.
I have added a break
to the second case too, simply because it's generally considered good practice to always break
a case. In fact, JSLint will flag a missing break
as an error.
Upvotes: 5