0

これがコードです

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


});

div (post_box) をクリックすると、クラス (read_more) を持つ (post_box) のサブ div にあるリンク (ポップアップ グレーボックス) がトリガーされます。今はうまく機能しますが、リンクを閉じると問題が発生します (グレーボックス) 、div(post_box)をもう一度クリックしても機能しません。クリックするにはページを更新する必要があります。

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

`
<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>`

ec2-107-22-235-75.compute-1.amazonaws.com ここを見てください。div をクリックしたときに on() に変更した場合に備えて、これは関数 one() を持つサイトであり、haiders.imcserver をブロックします。 ro/telugu ここで on() を使用した 2 番目のケースを見ることができます

4

2 に答える 2

5

これはone()メソッドの正しい動作です。イベントは 1 回だけバインドされます。

on()イベントをページの存続期間にわたってバインドする場合は、代わりに使用する必要があります。

jQuery('.post_box').on('click', function(e) { 
    jQuery(this).find(".read_more").trigger("click");
});
于 2013-01-07T13:55:27.440 に答える
1

1 つを使用しています。代わりに .on() を使用してください。

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


});
于 2013-01-07T13:55:45.337 に答える