【问题标题】:JQuery doesnt work on content loaded into popover using ajaxJQuery 不适用于使用 ajax 加载到弹出框的内容
【发布时间】:2013-10-03 02:14:59
【问题描述】:

我有一个按钮,负责在点击时显示用户待处理的好友请求。当单击该按钮时,它会触发一个弹出框,其中填充了使用 ajax 的待处理好友请求的提要。我做到这一点没有任何问题,但由于某种原因,我无法让任何 jquery 处理 ajax/popover 内容。所以我有两个问题:

  1. 是否有一些特殊技巧可以让 jquery 处理使用 ajax 加载的内容,而这些内容在最初加载页面时不存在?

  2. 1234563按下好友请求按钮时,它会进入通过 ajax 加载的父文件还是子文件?

【问题讨论】:

    标签: javascript jquery html ajax popover


    【解决方案1】:

    使用.on()

    由于您的内容是动态添加的,因此无法直接访问,因此您必须使用事件委托。

    $(document).on('click','#somelement',function(){
    
    });
    

    语法

    $('ParentSelectorPresentAtDOMReady').on('Events','SelectorsOnWhichYouWantToAddEvents(LoadedByAjax)',function(){
          //code here
    });
    

    您可以在 head 部分的 DOM 中加载所有脚本。

    【讨论】:

    • 所以你说如果我在头上添加: $(document).on('click','#someelement',function(){ });它应该工作,对吗? bc 它现在根本没有:/
    【解决方案2】:
    $("#mydiv").change(function(){
        /*code*/
    });
    

    变成

    $(window).on("change", "#mydiv", function(){
        /*code*/
    });
    

    $("#mydiv").click(function(){
       /*code*/
    });
    

    变成

    $(window).on("click", "#mydiv", function(){
       /*code*/
    });
    

    等等……

    至于问题 #2,您将库链接放在与非 AJAX 环境中相同的位置

    【讨论】:

    • 第二部分是 0 意义大声笑....只是回答它是进入最初加载的父级还是加载 ajax 的子级?
    • window 实际上是一个可用的参数吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2013-08-15
    • 1970-01-01
    相关资源
    最近更新 更多