Jquery当我使用on()函数时它会阻止我的网站

时间:2013-01-07 15:49:25

标签: jquery

这是代码:

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

当我点击div post_box时,它会触发一个位于post_box的子div中的链接(弹出greybox),该链接具有类read_more,,现在它工作正常但是问题当我关闭链接greybox,然后再次点击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>`

http://ec2-107-22-235-75.compute-1.amazonaws.com/请看一下这个带有one()功能的网站,以防我点击div http://haiders.imcserver.ro/telugu时我更改为on()你可以带一个在这里查看on()的第二个案例。

1 个答案:

答案 0 :(得分:0)

编辑:

这是事件传播的问题:当触发链接的点击事件时,事件也会在父.post_box上触发,从而导致循环。请参阅jQuery doc

以下内容应解决问题:

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");
    });  
});