这是代码
jQuery(document).ready(function(){
jQuery('.post_box').one('click', function(e) {
jQuery(this).find(".read_more").trigger("click");
});
});
当我点击div(post_box)时,它会触发位于(post_box)的子div中的链接(弹出greybox),其中包含类(read_more),现在它工作正常但是当我关闭链接时出现问题(greybox),然后单击div(post_box)上的againe它不起作用,我必须刷新页面才能单击它。
如果我改为使用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>`
答案 0 :(得分:5)
这是one()
方法的正确行为 - 它只绑定事件一次。
如果您希望事件绑定到页面的生命周期,则需要使用on()
。
jQuery('.post_box').on('click', function(e) {
jQuery(this).find(".read_more").trigger("click");
});
答案 1 :(得分:1)
你正在使用一个,改为使用.on():
jQuery(document).ready(function(){
jQuery('.post_box').on('click', function(e) {
jQuery(this).find(".read_more").trigger("click");
return false;
});
});