2014-01-14 51 views
1

所以我有一些結果,有項目,切換,隱藏/顯示等,這一點工作得很好,除了附加到結果底部的項目。點擊處理程序不會觸發它們,但在其他程序上工作得很好。我假設它與頁面加載時讀取節點有關。我如何獲得附加項目也可以工作?點擊處理程序不打開附加項目

<div class="event"> 
          <a href="/profile/00000000"> 
          <img class="user-image" src="https://graph.facebook.com/00000000/picture?width=100&amp;height=100"> 
          </a> 
          <div class="event-info"> 
           <div class="content"> 
            <div class="event-time-location"> 
            <span class="user-name">Levi Thornton</span> 
            <span class="user-action-time">Posted 21 minutes ago</span> 
            </div> 
             <div class="event-caption">1 
</div>                  </div> 
           <div class="event-like-comment"> 
            <input id="js-eventId" type="hidden" value="201" name="eventId"> 
                     <a href="#" class="event-liked hidden">liked</a><a href="#" class="event-like">like</a>         <a href="#" class="js-event-comment">comment</a> 
            <a href="/shindig/201" class="event-view">more</a> 
           </div> 

          </div> 


          <div class="comments" id="comments-201" style="display: block;"> 
         <div class="newComments"> 
           <input id="js-eventId" type="hidden" value="201" name="eventId"> 
           <textarea class="addComment" value="Write a comment..." placeholder="Write a comment..." title="Write a comment..."></textarea> 
          </div> 
                </div> 
         <!-- comments --> 


          <div class="clear"></div> 
         </div> 

的JQ:

... 
    // add like 
    $(".event-like").click(function(event){ 
     event.preventDefault(); 
       var likeBtn = $(this); 
       $.post('/shindig/ajax-like-event', { eventId: $(this).siblings('#js-eventId').val(), userLogged: $('#js-userLogged').val(), ajax: true}, function(data){ 
        if(data['success']){ 
         likeBtn.hide(); 
         likeBtn.siblings(".event-liked").show(); 
        } else { 
         if(data['noaccess']){ 
          window.location.href = data['url']; 
         } 
        } 
       },"json"); 
    }); 
    // soft delete like 
    $(".event-liked").click(function(event){ 
     event.preventDefault(); 
       var likeBtn = $(this); 
       $.post('/shindig/ajax-unlike-event', { eventId: $(this).siblings('#js-eventId').val(), userLogged: $('#js-userLogged').val(), ajax: true}, function(data){ 
        if(data['success']){ 
         likeBtn.hide(); 
         likeBtn.siblings(".event-like").show(); 
        } else { 
         if(data['noaccess']){ 
          window.location.href = data['url']; 
         } 
        } 
       },"json"); 
    }); 
    // hit bottom scrolling, load more results 
    $(window).scroll(function() { 
     if($(window).scrollTop() == $(document).height() - $(window).height()) { 
      console.log('bottom'); 

      $.post('/index/ajax-feed-items-by-time', { pager: $("#js-pager").val(), ajax: true}, function(data){ 
       $(".feedContent").append(data); 
       $pager = $("#js-pager").val()+10; 
       $("#js-pager").val($pager); 
      }); 
     } 
    }); 
+2

活動代表團! –

回答

5

更換

$(".event-like").click(function(event) { 

$(document).on("click", ".event-like", function(event) { 

,同樣在你的代碼。它被稱爲事件代表團,和開始閱讀它的最好的地方是jQuery documentation

+1

非常感謝您的幫助! 閱讀jQuery文檔後,我查找了其他項目的其他示例,如綁定按鍵等。這是一個簡單的示例,但很有幫助。所以我把它放在這裏爲下一個人。 http://learn.jquery.com/events/event-delegation/ – LeviXC

相關問題