2013-01-07 72 views
0

這是代碼:jQuery的時候我用()函數,它擋住了我的網站

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

當我點擊DIV post_box它觸發鏈路(彈出greybox)坐落在post_box次DIV其中有類現在它工作良好,但問題當我關閉鏈接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()如果我改變爲on()當你點擊div分區http://haiders.imcserver.ro/telugu你可以看看第二種情況下on()在這裏。

回答

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

是同樣的事情 – user1955201

+0

其實我希望當上了父母的一些點擊.post_box它彈出,我認爲你必須有一個循環的權利,我把這樣的代碼,但它不工作jQuery的(文件)。就緒(函數(){ \t 的jQuery( 'post_box ')上(' 點擊',功能(E){ e.stopPropagation(); jQuery的 (本)。 find(「。read_more」)。trigger(「click」); }); });是否有錯誤 – user1955201

+0

應該在.read_more類上調用stopPropagation()函數。 它不會停止實際用戶的點擊事件的傳播,而是來自javascript jQuery(this).find(「。read_more」)。trigger(「click」); ' 嘗試複製/粘貼我寫的內容。 –

相關問題