リンクが現在のウィンドウで開くと、AJaxのようなトランジションをリンクに追加します。しかし、リンクが新しいウィンドウ/新しいタブで開かれている場合、トランジションを実行したくありません。これは可能ですか?新しいウィンドウ/タブまたは現在のウィンドウでリンクが開くかどうかを検出します。
P.S. jQueryをロードしました。
リンクが現在のウィンドウで開くと、AJaxのようなトランジションをリンクに追加します。しかし、リンクが新しいウィンドウ/新しいタブで開かれている場合、トランジションを実行したくありません。これは可能ですか?新しいウィンドウ/タブまたは現在のウィンドウでリンクが開くかどうかを検出します。
P.S. jQueryをロードしました。
新しいウィンドウ/タブでリンクを開く場合(中央クリック、Ctrl +クリック、または右クリック→新しいウィンドウ)、ブラウザは自動的にonclick
ハンドラを無視し、新しいタブ/ウィンドウのポインティングを開きますリンクのhref
属性で指定されたURLに移動します。
アンカータグに実際のhref
属性を正しく指定している限り、AJAXが発射されないように特別な操作を行う必要はありません。
あなた自身で簡単に確認できます。質問の編集リンクはAJAX経由でコンテンツを読み込みます。途中でCtrlキーを押しながらクリックすると、URL http://stackoverflow.com/posts/10215887/edit
が新しいウィンドウに読み込まれます。通常クリックするとJavaScriptがクリックを傍受し、ページを更新せずにフォームをインラインで読み込みます。
'onclick'は右クリック→新しいウィンドウで無視されます。しかし、ctrl +を左クリックすると、遷移はまだ実行されます。私はChrome btwを使用しています。 –
@Linksku 'click'コールバック関数で' ctrl'を保持していれば、かなり簡単にチェックすることができます。あなたは 'window.open()'を呼び出す 'click'イベントハンドラを持つリンクを考慮する必要がありますか? –