私がしたいことの例:Facebookでは、リンクをクリックすると現在のタブでリンクをクリックすると、リンクを開くのではなくJavaScriptがトリガーされます。しかし、新しいタブで(右クリックするかCtrl/Cmdを押して)開くと、Javascriptを呼び出さずにリンクが開きます。現在のタブで開かれたリンクと新しいタブとの区別
私は自分のリンクで同じことをしたいと思います(リンクの動作はターゲットに依存します)。私はリンクを開くことを避けるためにonclickイベントハンドラreturn false;
を持っています。 Ctrl +クリックするとリンクを開くことができなくなります。これをどのように達成するのですか?
編集:I のリンクを強制的に新しいウィンドウで開きたくない。 IF新しいウィンドウでリンクを開くと、いつものようにhref
に従ってください。ただし、IF現在のウィンドウのリンクをたどるのではなく、現在のウィンドウのリンクがで開かれているので、Javascriptを実行します。
Facebookは、現在のウィンドウで開いた場合はポップアップ "シアター"で画像を開き、新しいウィンドウで開くと画像をフルページで開きます。
イベントをリンクにキャプチャし、preventDefault()
またはreturn false
を使用すると、Cmd +クリック(新しいタブで開く)が失敗することに注意してください。いずれにせよ、これは関係なく、リンクが開かれた方法の動作するはずです - など、キー入力し、クリックし
EDIT 2:hashchange
/HTML5 pushStateこの
あなたは新しいウィンドウで常に開いへのリンクをしたいですか? – ShankarSangoli
すべてのアンカーでターゲットを '_blank'に変更するだけですか? – ZeroDivide