2014-07-25 41 views
0

錨點擊後不執行我有下面的代碼:警報在AJAX響應

$('.ver').click(function(e) { 
    e.preventDefault(); 
    var id = $(this).next().val(); 
    $.post('cotizar_detalles.php', {'id': id}) 
      .done(function(response) { 
       $('#detalles').dialog('open').dialog('option', 'title', 'Detalles') 
         .html(response, function() { 
          $('.corregir').click(function(e) { 
           e.preventDefault(); 
           alert('aqui toy'); 
          }); 
         }); 
      }); 
}); 

其中「.VER」和「.corregir」是一個錨標記之內的兩次課。 '.corregir'存在於ajax.response之後的html中。 問題是'.corregir'點擊事件沒有執行的最後一次警報,我需要它執行另一個操作。 什麼問題? 並感謝您的答案。

回答

0

$ .click()是jQuery中的一個直接綁定,它只能在頁面加載時用於DOM中的元素。嘗試使用委派結合,而不是如$。對():

$(body).on('click', '.corregir', function(e) { 
    e.preventDefault(); 
    alert('aqui toy'); 
}); 

退房的.on() jQuery Documentation

+0

「...只適用於頁面加載中的DOM元素...」 非常感謝!這就解釋了我有很多問題。 我知道'開'事件,但我不知道第二個。 現在開始工作吧! – iglesiasedd

+0

不客氣! .on()是jQuery中大多數事件的首選選擇器,因爲它適用於所有元素,包括那些由AJAX生成的元素。它還可以用於許多不同類型的事件,包括點擊,更改,鼠標懸停等。 –