这是代码:
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()
的第二个案例。
答案 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");
});
});