2014-07-25 38 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生成的元素。它还可以用于许多不同类型的事件,包括点击,更改,鼠标悬停等。 –