質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

1281閲覧

画面遷移時にアラートを表示させたい(aタグクリック時を除いて)

y_emo

総合スコア7

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/11/13 05:11

前提・実現したいこと

戻るや閉じるなどの画面が遷移する時にアラートを表示させているのですが、aタグでのリンクだけはクリックしてもアラート非表示にしたいです。

色々調べて試しているのですが下記のようにすると、戻るや閉じるの時もアラート非表示になってしまいます。
どなたか教えていただけませんでしょうか。
よろしくお願いいたします。

該当のソースコード

HTML

1<a href="#" class="noalert">次のページへ</a>

jQuery

1$(function(){ 2 $(window).on('beforeunload', function(){ 3 return "ページを閉じてもよろしいですか?"; 4 }); 5 $('a').on('click', function(){ 6 $(window).off('beforeunload'); 7 }); 8});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shinji709

2020/11/13 07:10

ご提示のコードを試してみたところ、aタグでのリンクはクリックしてもアラートが非表示で、戻るや閉じるなどで画面が遷移する時にはアラートが表示されました。(jQuery 3.5.1)
guest

回答1

0

beforeunloadイベントハンドラの中で、イベント元要素による判別はできないものでしょうか?

$(event.target).is("a") でaタグのイベントか判別できたりすれば、要件が実現できるかと思います。

投稿2020/11/13 06:14

plasticgrammer

総合スコア629

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問