アンカーの onclick イベントとして window.open がある場合、必要に応じて新しいタブが開かれます。onclick が関数を呼び出すと、window.open が実行され、新しいタブが開かれますが、現在のタブも新しい URL を取得します。
ここ では、リンクをクリックしても問題なく動作することを実証できますが、ここでは URL も結果領域で開かれます。
ありがとうシメオン。
あなたの最初のcase
声明は失敗しています。次を追加する必要がありますbreak
。
switch (t) {
case 1:
window.open(url,"_blank");
break;
case 2:
window.location = url;
break;
}
がなければ、最初に一致したものより下のbreak
すべてが実行されます。case
2 番目のケースにもa を追加しました。break
これは、一般的に常にbreak
ケースを使用する方が良いと考えられているためです。実際、JSLintbreak
は欠落をエラーとしてフラグ付けします。
動作しない例ではbreak
、switch ステートメントにa がありません。
function doclick(t, url) {
switch (t) {
case 1: window.open(url,"_blank"); break;
case 2: window.location = url; break;
}
return false;
}
あなたはあなたの必要がありbreak;
ますcase
。
必要な結果のみbreak;
が得られます。