使用chrome的ajax加载内容问题

使用chrome的ajax加载内容问题,ajax,jquery,delegates,load,Ajax,Jquery,Delegates,Load,使用以下代码动态加载内容时出现问题 $(document).ready(function() { $("#tags").keyup(function(){ var q = $(this).val(); $.ajax({ url: '/AnswerMedia/utilities/autoSearch/model/sug

使用以下代码动态加载内容时出现问题

$(document).ready(function() {
             $("#tags").keyup(function(){
                        var q = $(this).val(); 
                        $.ajax({ 
                            url: '/AnswerMedia/utilities/autoSearch/model/suggest.php?q='+q, 
                            success: function (data) {
                                $("#ajaxDiv").html(data); 

                            },
                            error: function (request, status, error) {
                            alert(request.responseText);
                        }
                    });  
            });
        });  
加载内容后,此代码旨在在单击加载的div标记之一时触发事件,但没有

$(".pdiv").click(function(){
    var val = $(this).text();
    $('#tags').val(val);
    $('.mncontr').hide();
});
$("#closeSearch").click(function(){
    $('.mncontr').hide();   
});
然后我尝试了以下代码:

$("body").delegate(".pdiv", "click", function(){
    var val = $(this).text();
    $('#tags').val(val);
    $('.mncontr').hide();
});
$("body").delegate("#closeSearch", "click", function(){
    $('.mncontr').hide();   
});
它在Firefox中运行良好,但在Chrome中问题依然存在。请帮帮我

来自SO post:

如果希望单击处理程序为加载的元素工作 动态地,然后在父对象上设置事件处理程序(即 不会动态加载)并为其提供匹配的选择器 您的动态对象如下所示:

$(“#父项”)。在(“单击”,“子项”,函数(){})上

事件处理程序 将附加到#父对象,并在任何时候单击事件 如果出现源于#child的气泡,它将触发您的单击 处理程序。这称为委托事件处理(事件处理 委托给父对象)

这样做是因为您可以将事件附加到#父级 对象,即使#子对象尚不存在,但 稍后存在并被单击,单击事件将冒泡到 在#parent对象中,它将看到它起源于#child并在那里 是一个事件处理程序,用于单击#子项并触发事件


非常感谢Greg Kramida的帮助,现在它的工作方式很好,亲爱的,出乎意料的是它的工作方式很好,但突然它在chrom中不工作了。你有其他解决方案吗?$(“body”)。在(“click”、“.pdiv”,function(){var val=$(this).text();$(“#tags').val(val);$(“.mncontr').hide());不在chromeAre中工作你说它在Chrome中工作,然后你对它做了些什么,然后它停止了工作?或者你是说它在Chrome中根本不起作用?