【问题标题】:ajax loaded content issue with chromeajax加载的内容问题与chrome
【发布时间】:2013-08-17 20:17:46
【问题描述】:

当我使用以下代码动态加载内容时遇到问题。

$(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 中问题仍然存在。请帮我。

【问题讨论】:

    标签: ajax jquery delegates load


    【解决方案1】:

    来自thisSO 发帖:

    如果您希望点击处理程序适用于已加载的元素 动态地,然后在父对象上设置事件处理程序(即 不会动态加载)并给它一个匹配的选择器 你的动态对象是这样的:

    $('#parent').on("click", "#child", function() {});

    事件处理程序 将附加到#parent 对象和任何时候点击事件 出现在#child 上的气泡,它会触发您的点击 处理程序。这称为委托事件处理(事件处理 委托给父对象)。

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

    【讨论】:

    • 非常感谢 Greg Kramida 的帮助,现在它工作正常
    • 亲爱的,非常出乎意料的是它工作得很好,但突然它不能在 chrom 中工作..你还有其他解决方案吗?
    • $("body").on("click", ".pdiv", function(){ var val = $(this).text(); $('#tags'). val(val); $('.mncontr').hide(); });不能在 chrome 中工作
    • 你是说它在 Chrome 中工作,然后你对它做了什么,然后它就停止工作了吗?或者您是说它根本无法在 Chrome 中运行?
    猜你喜欢
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 2011-08-28
    • 2019-04-23
    • 2016-09-16
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多