Javascript Jquery在AJAX表单结果显示中没有响应

Javascript Jquery在AJAX表单结果显示中没有响应,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我刚刚开始真正使用jquery和AJAX,在大多数情况下我似乎已经掌握了诀窍,但这一点代码不起作用 我有一个显示文章摘要的页面。单击文章名称时,将显示一个弹出窗口,文章信息将与右上角的X图标一起显示,以关闭文章窗口 我通过AJAX处理表单处理,效果非常好。弹出窗口,显示所有正确的信息。我遇到的问题是关闭按钮功能 当你点击关闭按钮时,什么也没发生。我对它的jquery似乎没有响应。如果我只使用纯jquery/css,窗口就会出现,关闭按钮也会工作。如果我用HTML/PHP处理表单,它会显示窗口,关

我刚刚开始真正使用jquery和AJAX,在大多数情况下我似乎已经掌握了诀窍,但这一点代码不起作用

我有一个显示文章摘要的页面。单击文章名称时,将显示一个弹出窗口,文章信息将与右上角的X图标一起显示,以关闭文章窗口

我通过AJAX处理表单处理,效果非常好。弹出窗口,显示所有正确的信息。我遇到的问题是关闭按钮功能

当你点击关闭按钮时,什么也没发生。我对它的jquery似乎没有响应。如果我只使用纯jquery/css,窗口就会出现,关闭按钮也会工作。如果我用HTML/PHP处理表单,它会显示窗口,关闭按钮会工作

只有当我通过AJAX处理调用时,关闭按钮才没有响应,我不知道为什么会这样

下面是关闭按钮的简单jquery代码:

$('.newsClose').click(function(){
        $('#newsWindow').hide();
    });
这是AJAX调用:

$(document).ready(function() {
    $('#agentNewsForm').submit(function(e) {  
    e.preventDefault();
    $.ajax({
            type  : 'POST',
            data : $('#agentNewsForm').serialize(),
            url  : '/search/customer/agentNewsView.inc.php',
            beforeSend : function() {
                $('#processing').show();
            },
            error : function() {
                $('#processing').hide();
                $('#ajaxFormError').show();
            },
            // success callback
            success : function (response) {
                $('#processing').hide();
                $('#newsWindow').html(response).show();

            },
            complete : function() {
                $('#processing').hide();
            },
            timeout : 3000,
        });  
    return false;
    });

}); 
我肯定我错过了一些非常简单的东西。有什么想法吗

$(document.body).on('click', '.newsClose' ,function(){
        $('#newsWindow').hide();
});
见此:

见此:

关闭窗口的代码仅在文档加载时启动,而关闭按钮位于
#newsWindow
内,您可以通过以下两种方法之一解决此问题

$('#新闻窗口>.content').html(response.show()
并将关闭按钮置于
.content
区域之外

或者您可以使用上的
方法,该方法将绑定您对添加到文档中的所有新dom的关闭单击


$(body).on('click','.newclose',函数(e){e.preventDefault;$('#新闻窗口').hide();})

您关闭窗口的代码仅在文档加载时启动,而您的关闭按钮位于
#newsWindow
内,您可以通过以下两种方法之一解决此问题

$('#新闻窗口>.content').html(response.show()
并将关闭按钮置于
.content
区域之外

或者您可以使用
上的
方法,该方法将绑定您对添加到文档中的所有新dom的关闭单击

$(body).on('click','.newclose',函数(e){e.preventDefault;$('#新闻窗口').hide();})

尝试以下操作:

(function($){


var $newsWindow  = $('#newsWindow');

$('body').on('click','.newsClose',function(e){
    e.preventDefault();

    $newsWindow.hide();
});


$('body').on('submit','#agentNewsForm',function(e){

    e.preventDefault();

    var $el      = $(this);
    var $process = $('#processing');
    var $error   = $('#ajaxFormError');

    var _data = $el.serialize();

    $.ajax({
        type  : 'POST',
        data :  _data,
        url  : '/search/customer/agentNewsView.inc.php',
        beforeSend : function() {
            $process.show();
        },
        error : function() {
            $error.show();
        },
        success : function (response) {
            $newsWindow.html(response).show();

        },
        complete : function() {
            $process.hide();
        }
    });  

});
})(jQuery);
试试这个:

(function($){


var $newsWindow  = $('#newsWindow');

$('body').on('click','.newsClose',function(e){
    e.preventDefault();

    $newsWindow.hide();
});


$('body').on('submit','#agentNewsForm',function(e){

    e.preventDefault();

    var $el      = $(this);
    var $process = $('#processing');
    var $error   = $('#ajaxFormError');

    var _data = $el.serialize();

    $.ajax({
        type  : 'POST',
        data :  _data,
        url  : '/search/customer/agentNewsView.inc.php',
        beforeSend : function() {
            $process.show();
        },
        error : function() {
            $error.show();
        },
        success : function (response) {
            $newsWindow.html(response).show();

        },
        complete : function() {
            $process.hide();
        }
    });  

});
})(jQuery);

谢谢你的建议。就像我说的,对AJAX来说还是有点陌生。正在学习细节,还没有弄乱控制台功能。下次我会记住的。谢谢你的建议。就像我说的,对AJAX来说还是有点陌生。正在学习细节,还没有弄乱控制台功能。下次我会记住的。谢谢!这正是我需要的答案。它现在工作得很好。谢谢你!这正是我需要的答案。它现在工作得很好。