
前提・実現したいこと
WordPressのテーマ構築で、
archiveページ上で、singleページをモーダル表示しています。
post per pageは6で、7記事目以降はページングせず、
スクロール量を見てappendで動的に追加しています。
発生している問題・エラーメッセージ
ページ訪問後、1度目のクリックで2回クリックしないとlightcaseが発火しません。
2度目以降だと、一度のクリックで発火します。
2度目以降でも、何かの拍子で発火しないことがあります。
★エラーメッセージ
表示されず(困っています)
該当のソースコード
php
1<div class="live_article__list js-infinitiescroll"> 2 <?php if (have_posts()): ?> 3 <?php while (have_posts()) : the_post(); ?> 4 5 <!--article 部分が動的にappendされていく--> 6 <article class="live_article"> 7 <a href="<?php the_permalink();?>" data-rel="lightcase"> 8 <!--サムネイルなど…今回は省略--> 9 </a> 10 </article> 11 12 <?php endwhile; ?> 13 <?php endif; ?> 14</div>
es6
1lightcase(){ 2 3 //動的に追加した要素にも発火させるために$(document)から指定 4 $(document).on('click','a[data-rel^=lightcase]',function(e){ 5 e.preventDefault(); //aタグの遷移をキャンセル 6 $(this).lightcase(); //1度目のクリックでは絶対に発火しない 7 console.log('押したよ'); //これは毎回必ず実行される 8 }); 9 10 }
試したこと
・preventDefaultの代わりにreturn false =>結果変わらず
・touchイベントなどを使ってみる => 関係なかった
・親要素から指定してみる => aタグ遷移してしまってダメ
es6
1$(document).on('click','article',function(e){ 2 e.preventDefault(); 3 $(this).find('a[data-rel^=lightcase]').lightcase(); 4});
補足情報(FW/ツールのバージョンなど)
★使用ライブラリ
モーダル:lightcase.js
http://cornel.bopp-art.com/lightcase/
回答1件
あなたの回答
tips
プレビュー