簡體   English   中英

在ajax加載的內容中對div執行jQuery

[英]Execute Jquery on div in ajax loaded contents

我有一個名為forms.php的頁面,其頭部包含一個javascript,還有一個名為fadeinContents的div

我使用Ajax將名為#sections1的文件的一部分加載到該div中,效果很好

但是當我單擊它們時,我需要對fadeinContents中的已加載內容執行一些jQuery。 我讀過其他文章,但聽不懂。

這是我的檔案

表格

<html>
  <head>
    <script type="text/javascript" src="scripts/scripts.js"></script>
    <script type="text/javascript" src="scripts/login.js"></script>
  </head>
  <body>
   <div class="login_link">login</div>
   <div class="signup_link">signup</div>

    <div class="fadeinContents">
        <!--Loaded contents goes here -->
    </div>
</html>

這是我的Jquery

$(document).ready(function(e) {
    $('#fadeinContents').load('forms.php #sections1');

    $('.login_link').click(function(e) {
        $('#fadeinContents').load('forms.php #sections1');
    });

    $('.signup_link').click(function(e) {   
        $('#fadeinContents').load('forms.php #sections2');
    });

    $('.recoverPassword').click(function(e) {
        $('#fadeinContents').load('forms.php #sections3');                     
    });

});

載入的文件包含

<div class="sections1">
    <div class="signup">
          <!-- Signup Forms Here -->
    </div>
</div>

<div class="sections2">
    <div class="login">
          <!-- loginForms Here -->
    </div>
</div>
<div class="sections3">
    <div class="recoverPassword">
          <!-- recover form Here -->
    </div>
</div>


我的問題是,“恢復密碼”單擊功能由於已加載而無法正常工作,請問我該如何使其工作?
提前thnx ..

那么您應該以其他方式綁定該事件。 這樣嘗試

  $('.fadeinContents').delegate('.login_link', 'click', function(e) {
       $('#fadeinContents').load('forms.php #sections3');                     
  });

其余的等等。

這意味着click事件綁定在.fadeinContents上,但是在觸發時,它會檢查目標是否為.login_link ,如果是,它將觸發給定的回調。 因此,將事件處理程序委派給更高的節點將確保無論何時加載/更改節點的內容或您擁有多少元素,如果它們均符合事件處理程序將觸發的條件。

委派事件也可以提高內存效率。 例如,如果您有一百個單元格要添加單擊事件,則執行$(".cell").click(將在每個$(".cell").click(附加一個事件偵聽器。例如,使用$("body").delegate('.cell', 'click',將其委托給body $("body").delegate('.cell', 'click',將只附加一個事件(然后在其中進行一些循環和檢查,這是真的),但最終只會得到一個事件偵聽器,這無關緊要您以后添加或刪除多少個節點,它們將觸發該點擊事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM