wordpressサイトで、aタグをクリックした際に、テキスト横につけたチャックボックスにチェックが入るようにしたいです。
特に何かを送信するわけではなく、単純にクリックした時の反応が欲しいだけなので、
チェックボックスとチェックはspanタグを整形して作っています。
チェックは普段opcity:0にしておいて、aタグクリック時のイベントとして、opacity:1になるようにしています。
コードをテストしたところ、wordpressのカスタマイザー画面では普通に動作するのですが、
通常の画面では無反応です。
ページ遷移を送られて、先にイベント処理をするようにしたのですが、
うまく反応してくれません。
HTML
1<div class="list"> 2 <span class="box"></span><!--ボックス--> 3<span class="check"></span><!--チェック--> 4 <a class="btn" href="#">ここをクリック</a> 5</div>
jquery
1jQuery(function() { 2 //aタグを押したら発火 3 jQuery('a.btn').on('click', function(e){ 4 //クリック時の挙動を停止 5 e.preventDefault(); 6 //href属性の属性情報を取得 7 url = jQuery(this).attr('href'); 8 if (url !== '') { 9 //checkクラスのcssを操作 10 jQuery(this).prev('.check').css('opacity', '1'); 11 //setTimeOutを用いて500s後にurl遷移を実行 12 setTimeout(function(){ 13 window.location = url; 14 }, 500); 15 } 16 return false; 17 }); 18 });
カスタマイザー画面では反応するので、コード自体が大きく間違っているわけではないと思ったのですが、
なぜ普通に画面になると反応しないのかがわからず困っています。
他にbuttonタグなど検討したのですが、href属性で直接phpを入れられないので、
やはりaタグでなんとかしないといけない状況です。
どなたかお知恵をお貸しいただけないでしょうか。
よろしくお願いいたします。