JavaScript

【Javascript】Chromeでブラウザバック時にイベントを発動させる

みいと

仕事でjQueryを使うときに困っている現象についてまとめです。

Chromeでブラウザバックで戻ったときにイベントが発動しない

仕事でhtmlのフォームにJavascriptやjQueryを使って、ここにチェックが入ったらこっちを非表示にするというような、私でも書ける簡単なプログラムを書く事があります。

しかしChromeではブラウザバック(戻るボタン)で戻ってきたときに、そのプログラムが処理をする前(素のHTML)の状態に戻ってしまうんです。

ほかのブラウザではブラウザバックしてもプログラムが動いた後の状態になっているのですが・・・

Chromeでブラウザバック時にイベントを発動させる

いろいろ調べた結果、動いたのがこの方法。

$(window).load(function() {
    $("[type=radio]").trigger('change');
 });

これでChromeでブラウザバックしたときも、ラジオボタン([type=radio])の状態が更新(change)されたときの処理が実行されました。

しかし、コンソールを見るとエラーで動かないことがあったので最近はこちらを使っています。

$(document).ready(function() {
    $("[type=radio]").trigger('change');
 });

とりあえずはこの方法でしのぎながら、どう対応するのがいいのか勉強していきます。

ABOUT ME
みいと
興味を持ったものをいろいろと勉強しています。
記事URLをコピーしました