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

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

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

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

Q&A

解決済

2回答

11883閲覧

aタグをクリック後、ページ遷移してイベントを実行したい

Yui_note

総合スコア15

jQuery

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

0グッド

0クリップ

投稿2020/07/10 03:42

編集2020/07/10 03:59

aタグクリック後に、遷移先のページでJSを実行したいと思っています。

参考サイトのリンク
上記の記事がまさにやりたいことで、参考にさせていただき以下のコードを試してみましたが、
ページ内では正常に動きましたが、遷移後はやはりJSが実行されません。

$(window).on('load',function(){ $('.a').trigger('click'); }); $(".a").on('click',function(){ .....クリック後の処理() });

お力をお貸しいただきたいです。
どうぞよろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

遷移先のページでJSを実行したい

遷移先がgetのパラメータを判断して何かを動作するように
つくればできますが、基本的に飛び先の動作は元のページでコントロール
すべきではありません

投稿2020/07/10 03:47

yambejp

総合スコア116724

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

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

Yui_note

2020/07/10 03:57 編集

アドバイスありがとうございます。初歩的な部分がわかっていないところがあり恐縮ですが、パラメータを取得して判断する方法以外に、「aタグに外部ページ内リンクのIDを振っておき、そのIDによって条件分岐をしてイベントを発火するのもアリ。」と参考サイトに記述がありまして、こういったことは実際可能なものなのでしょうか? お手数ですが、よろしければ教えていただけますと幸いです。 よろしくお願いいたします。
yambejp

2020/07/10 04:06 編集

たとえばこんなかんじ(ちょっとはしょっています) //mypage.html <a href="next.html?id=0">0</a> <a href="next.html?id=1">1</a> <a href="next.html?id=2">2</a> //next.html <script> window.addEventListener('DOMContentLoaded', ()=>{ var id; try{ id=location.search.substring(1).split("&").map(x=>x.split("=")).filter(x=>x[0]=="id")[0][1]; }catch(e){ id=null } var messages=["おはよ","こんにちは","こんばんわ"]; document.querySelector('#view').textContent=messages[id]||"不明"; }); </script> <div id="view"></div>
Yui_note

2020/07/10 05:31

ありがとうございます。m いただいたコードを参考に実装にトライしてみたいと思います。 取り急ぎお礼までになりますが、ありがとうございました。 実装できた際には、またこちらからご報告させていただきます。
guest

0

自己解決

いただいたアドバイスを元に、URLとページ遷移先のIDを比較して
実装したい事が実現できました。

var urlHash = location.hash; // URLにアンカーが存在する場合 if(urlHash){ // アンカーが#a1かどうかを判断する if (urlHash == '#a1') { $("#a-list01").addClass("active"); } else {} if (urlHash == '#a2') { $("#a-list02").addClass("active"); } else {} ..... }

ページを移動してのJSの実行は基本できない様でしたので、
URLのパラメータを取得して判断する方法で実装いたしました。

複数IDで同処理を複数記述してる状態でしたので、
もう少し勉強して整理して記述したいと思います。

ありがとうございました。

投稿2020/07/10 06:36

編集2020/07/10 06:38
Yui_note

総合スコア15

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

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

yambejp

2020/07/10 07:18 編集

ハッシュはページ内リンクの機能なので想定しない場所に 飛ばされないよう注意してください。 場合によってはクッキーとかのほうがスマートかもしれません (実装は面倒ですが)
Yui_note

2020/07/11 19:20

アドバイスいただきありがとうございます。 ハッシュのJSコードは共通JSファイルに記述しておりましたので、 どのページからアクセスがあってもうまく機能したんだと思います。(間違えていたらすみません。。) せっかく教えていただいたコードもまだ読解できない状況でしたので、 もっと勉強に精進します。お手数をおかけいたしました、ありがとうございました。m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問