使用jQuery附加到动态创建的元素
我得到了一个简单的ajax调用,它将html加载到fancybox模式中:使用jQuery附加到动态创建的元素,jquery,Jquery,我得到了一个简单的ajax调用,它将html加载到fancybox模式中: $.ajax( { type: 'POST', url: "/basket/dealdeliverybox", success : function(data) { if(data != 'SKIP') {
$.ajax(
{
type: 'POST',
url: "/basket/dealdeliverybox",
success :
function(data) {
if(data != 'SKIP')
{
$('#dealSuggestBox').html(data);
$.fancybox($('#dealSuggestBox').html());
}
},
async:false
});
现在,我还得到了一个zipcodekeyup事件,用于此模式框中的zipcode字段:
$(document).on('keyup', '#takeaway_delivery_zipcode', function(){
var zipcode = $(this).val();
if(zipcode.length == 4)
{
$.post("basket/deliverycheck", { zipcode: zipcode },
function(data) {
$('#takeaway_status').removeClass('alert-danger').removeClass('alert-success');
$('#takeaway_status').html(data.msg);
$('#takeaway_status').addClass(data.css);
}, 'json');
}
});
因此,每当用户输入4位数字时,它就会运行deliverycheck,并将状态响应为“takeaway”状态
现在的问题是,它没有添加任何html或删除/添加任何类到“takeaway”状态
我发现这是因为它在这个框中,内容是在第一个ajax之后加载的
如何使用jQuery将数据附加到动态创建的元素中?我怎样才能让jQuery也听新的html,而不仅仅是原始页面加载内容,用两个词来说就是使用事件委托。完整答案:对我没有多大帮助,先生?正如您所看到的,我已经在使用事件委派