5

リンクを新しいウィンドウ/タブで開かなければならない場合があります。厳密な HTML で有効な方法はありますか? target="_blank"jQuery を使用してこれを行うことは許容されますが、バリデーターがそれらを認識しないように、jQuery で s をこっそり戻すだけではありません。

4

2 に答える 2

6

あなたはjQueryが許可されていると言ったので。

<a href="http://mysite.com" class="newWindow">Open in new window</a>

$('a.newWindow').click(function(e){
   e.preventDefault();
   window.open(this.href);
});

通常の JS を介してこれを行うこともできます。こうすることで、HTML があちこちに散らばることがonclickなくなります。

編集 - e.preventDefault()Ian の提案に従って使用するように更新されました。

于 2011-05-11T18:05:41.000 に答える
2

これは機能します:<a href="test.html" onclick="window.open(this.href); return false; ">click me</a>

ただし、onclickイベント ハンドラーをアタッチするための属性は、通常は維持できません。イベント ハンドラーをアタッチする適切な方法は、JavaScript フレームワークによって異なります。selector.click(function)jQueryで適切です。

于 2011-05-11T18:01:11.873 に答える