0

这是代码

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


});

当我单击 div(post_box)时,它会触发一个链接(弹出灰色框),它位于(post_box)的子 div 中,它具有类(read_more),现在它工作得很好,但是当我关闭链接时出现问题(灰色框) ,然后在 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 请看这里,这个带有函数 one() 的站点,以防我在单击 div 时更改为 on(),它会阻止 haiders.imcserver。 ro/telugu 你可以在这里用 on() 看看第二种情况

4

2 回答 2

5

这是该one()方法的正确行为 - 它只绑定事件一次。

on()如果您希望事件在页面的生命周期内绑定,则需要使用。

jQuery('.post_box').on('click', function(e) { 
    jQuery(this).find(".read_more").trigger("click");
});
于 2013-01-07T13:55:27.440 回答
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 回答