0

これはコードです:

jQuery(document).ready(function(){
    jQuery('.post_box').on('click', function(e) { 
        jQuery(this).find(".read_more").trigger("click");
    });  
});

divをクリックpost_boxすると、サブdivにあるリンク(ポップアップグレーボックス)がトリガーされます。このリンクpost_boxのクラスはread_more,現在正常に機能していますが、リンクを閉じてgreyboxdivをもう一度クリックすると、post_box機能しません。クリックするにはページを更新する必要があります。

代わりに関数を配置するon()と、最初のクリックでリンクがトリガーされてブロックされます。これはHTMLコードであるサブdivのため、複数のリンクがトリガーされると思います。

<div class="post_box" >
    <div class="post_box_top">
        <div class="post_box_center">
            <div class="post_box_content">

                <div class="post_date">

                </div>
                <div class="post_content">

              <?php   echo   $content_post = get_post(get_the_ID());?>

                </div>
                <div class="post_footer">
                    <a href="<?php the_permalink();?>" title="<?php the_title(); ?>" class="read_more"  rel="gb_pageset[search_sites]"  data-greybox-type="iframe">Read more</a>
               // this the link i should trigger when someone click on the <div class="post_box">   
               </div>
            </div>
        </div>
    </div>
</div>`

http://ec2-107-22-235-75.compute-1.amazonaws.com/こちらをご覧ください。このサイトは、divをクリックしたときone()に変更された場合に備えて機能を備えたサイトです。http:// haiders .imcserver.ro / teluguは、ここで2番目のケースを確認できます。on()on()

4

1 に答える 1

0

編集:

これはイベント伝播の問題です。リンクのクリック イベントをトリガーすると、親の .post_box でもイベントがトリガーされ、ループが発生します。jQuery ドキュメントを参照してください。

次の手順で問題を解決する必要があります。

jQuery('.read_more').on('click', function(e) {
    e.stopPropagation();
});

click()で簡単に試しましたか?

jQuery(document).ready(function(){
    jQuery('.post_box').click(function() { 
         jQuery(this).find(".read_more").trigger("click");
    });  
});
于 2013-01-07T15:57:47.973 に答える