4

アンカーの onclick イベントとして window.open がある場合、必要に応じて新しいタブが開かれます。onclick が関数を呼び出すと、window.open が実行され、新しいタブが開かれますが、現在のタブも新しい URL を取得します。

ここ では、リンクをクリックしても問題なく動作することを実証できますが、ここでは URL も結果領域で開かれます。

ありがとうシメオン。

4

4 に答える 4

5

あなたの最初のcase声明は失敗しています。次を追加する必要がありますbreak

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

がなければ、最初に一致したものより下のbreakすべてが実行されます。case

2 番目のケースにもa を追加しました。breakこれは、一般的に常にbreakケースを使用する方が良いと考えられているためです。実際、JSLintbreakは欠落をエラーとしてフラグ付けします。

于 2012-04-18T15:44:32.683 に答える
2

動作しない例ではbreak、switch ステートメントにa がありません。

function doclick(t, url) {
    switch (t) {
        case 1: window.open(url,"_blank"); break;
        case 2: window.location = url; break;
    }
    return false;
}​
于 2012-04-18T15:45:39.030 に答える
1

あなたはあなたの必要がありbreak;ますcase

于 2012-04-18T15:45:05.957 に答える
0

必要な結果のみbreak;が得られます。

于 2012-04-18T15:55:45.673 に答える