修飾キーが押された場合のハイパーリンクのクリック動作に関する標準はありますか?
たとえば、Firefox は、 が押された場合に新しいタブを作成し、 が押されたCtrl
場合に新しいウィンドウを作成しますShift
。
Opera は、フォーカスされていない新しいタブをCtrl
、およびフォーカスされている に作成しShift
ます。
それは完全にブラウザに依存するものですか、それとも考慮すべきガイドラインがありますか?
質問する
1103 次
2 に答える
1
これはブラウザに依存し、予想よりもはるかに複雑です: 中クリック ( onclick
.新しいタブ」のコンテキスト メニュー、モバイル ブラウザー、その他多数。
あなたはコメントで言う:
私は自分のウェブサイト用のjsを書いています.onClickイベントがバインドされたハイパーリンクをクリックして、ユーザーが期待する動作を知りたいです。
href
推奨される方法は、可能であれば要素に実際の URL を提供し、ブラウザがそれを新しいタブで開く処理を行うことです。イベント ハンドラーからイベントをキャンセルすることで、単純な左クリックの既定の動作をオーバーライドできます。
于 2016-04-03T16:00:55.450 に答える
-1
あなたは使用することができます
target="_blank"
Webページを強制的に新しいタブ/ウィンドウで開く属性(ブラウザによって異なります)。例えば:
<a href="www.google.com" taget="_blank">
- アップデート -
少し調べてみましたが、ハイパーリンクと修飾子に関しては何もわかりません。考えられるのは、JavaScriptの修飾子キーを処理することだけです。
新しいページが新しいタブ/ウィンドウにポップアップするという問題がある場合は、次のような方法で無効にすることができます。ただし、ユーザーがjavascriptを無効にすると、リンクはまったく機能しなくなり、理想的ではありません。
<HTML>
<HEAD>
<TITLE>Event Modifiers</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function checkMods(event){
if(event.shiftKey) {
alert("Shift, held.");
return false
}
else{
window.location = "http://www.google.com/"
return true
}
}
</SCRIPT>
</HEAD>
<BODY>
<H1>Event Modifiers</H1>
<HR>
<P>This link wont work if Shift is held while clicking.
<A HREF="javascript:void(0)" onClick="return checkMods(event)">
this link</A>
</BODY>
</HTML>
于 2013-02-20T09:31:22.920 に答える