javascript - jquery 选择器不适用于添加的标签

标签 javascript jquery

我在使用 jQuery 新创建的元素时遇到问题,我的小脚本在这里:

$('.view_button').click(function(){

    $.ajax({
        url: '/devices/view_ajax',
        cache: false,
        type: 'post',
        dataType: 'JSON',
        data: {id: $(this).attr('data')},
        success: function(data){
            var maskHeight = $(window).height();
            var maskWidth = $(window).width() - 100;
            var body = $('#devices_wrapper');
            var div_outside =  $('<div/>', {id:'wrapper'}).appendTo(body);
            div_element =  $('<div/>', {id:'popup'}).appendTo(div_outside);
            div_element.css({position: 'relative', bottom: 0, 'z-index': 10000});
            $.each(data, function(i,v){
                if(v && i){
                    div_wrapper =  $('<div/>', {'class': 'part'}).appendTo(div_element);
                    div = document.createElement('div');
                    span = document.createElement('span');
                    $(span).html(i).appendTo(div_wrapper);
                    $(div).html(v).appendTo(div_wrapper);
                }
            });
            close_button = $('<div/>', {'class':'close_popup', text: 'X'}).appendTo(div_wrapper);

        },
        error: function(data){
            alert('error');
        }
    })
});

$('.close_popup').click(function(){
    $('#wrapper').remove();
})

当我点击close_popup时什么都没有执行,我认为原因是 tag > close_popup jQuery 选择器看不到,如果是的话如何添加它?或者也许我的错误有不同

最佳答案

您需要使用event delegation 为那些动态添加到 DOM 的元素附加事件:

$(document.body).on('click','.close_popup',function(){
    $('#wrapper').remove();
})

关于javascript - jquery 选择器不适用于添加的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23693258/

相关文章:

javascript - 定位 SVG 元素时如何处理浏览器异常

javascript - data-id 单击时向下滚动到该项目

javascript - Prop 处理程序不能一致工作?

jquery - 通过滚动向 h1 标签添加/删除类

javascript - 这个 JavaScript 是如何工作的?

javascript - 基于 Kraken OHLC 计算 RSI

javascript - 是否有可能采用 FEN aka forsyth-edward 符号并将其从黑色翻转为 play and win to white

javascript - 在关闭浏览器选项卡之前执行保存

javascript - 使用jquery改变div的颜色

jquery - 切换功能与 !在jquery中