【Javascript】Chromeでブラウザバック時にイベントを発動させる
みいと
おじさんのWEBデザイン学習まとめ
仕事でcheckboxにチェックが入ったら○○するというような処理をよく使うのでまとめ。
仕事でたまに簡単なjQueryが必要なことがあり、都度調べながら対応する状況。
独学なので良い書き方かどうかはわかりませんが、このような処理をしています。
checkboxにチェックが入ったときの処理なので、checkboxにchangeイベントを設定します。
$('input[type=checkbox]').change(function() { //処理内容 });
attrでの属性取得は要素に記述されている状態を取得します。(初期設定を取得するような感じ)
そのためformの属性取得をする場合はpropを使うのがよさそうです。
propは属性値を取得、設定をすることができます。
propを使った属性の取得はこのように記述します。
prop(‘属性’)
今回はこちらを使います。
propを使った属性値の設定はこのように記述します。
prop(‘属性’, ‘属性値’)
ifの条件式にpropでchecked属性を取得します。
propで取得したcheckedの属性値がtrueならチェックが入ったということになるので、if文はこのようになります。
if ($btn.prop('checked') { //チェックが入ったときの処理 } else { //チェックが外れたときの処理 }
今回はこのようなHTMLを使い、checkboxのchangeイベントで#targetの段落に文字を表示します。
<p> <label style="margin: 1em;"><input type="checkbox" name="btn" value="サンプル">サンプル</label> </p> <p id="target"></p>
Javascript部分はこのようにしました。
$(function() { $('input[type=checkbox]').change(function() { let $btn = $(this); if ($btn.prop('checked')) { $('#target').text('チェックが入りました。'); } else { $('#target').text('チェックが外れました。') } }); });
今回はclickイベントでも動きました。
動きはこのようになります。