javascript
  • jquery
  • ajax
  • 2016-01-20 89 views 0 likes 
    0

    我目前正试图对一些我没有写或完全理解的代码做一些工作。该页面通过AJAX动态调用内容。我试图操纵那些内容,但当然是因为当我将它应用到被忽略的动态内容时,页面已经被加载。下面是jQuery的一些基本的例子我试图拨打:jQuery不在Ajax上加载

    $(".check").each(function() { 
        $(this).hide(); 
        var $image = $("<img src='img/checked.png' />").insertAfter(this); 
        $image.click(function() { 
         var $checkbox = $(this).prev(".check"); 
         $checkbox.prop('checked', !$checkbox.prop('checked')); 
    
         if ($checkbox.prop("checked")) { 
          $image.attr("src", "img/checked.png"); 
         } else { 
          $image.attr("src", "img/unchecked.png"); 
         } 
        }) 
    }); 
    
    if ($(window).width() < 500) { 
        $('.panel-collapse').removeClass('in'); 
    } else { 
        $('.panel-collapse').addClass('in'); 
    } 
    

    我如何能得到这个使用Ajax的工作吗?

    +0

    您的发布代码是通过ajax加载的内容或是主页的一部分?如何发布你的代码/逻辑关于如何使用Ajax加载内容? –

    +0

    它加载在主页面上,你可以在这里看到代码完整:view-source:http://ifyouneedafriendgetadog.com/jobs/(dev url) –

    +0

    为动态元素委托事件。现在,因为你的代码不仅仅是绑定事件,你应该把它设置在一个函数中,并在你的ajax完成后调用它(再次?)。已经有数千个关于这个的,如果我是正确的... FYI,这是检查'$(窗口)。宽()'相当不一致,使用,而不是:[window.matchMedia()](https:/ /developer.mozilla.org/en/docs/Web/API/Window/matchMedia) –

    回答

    1

    以这种方式使用它。

    $image.on('click',function() { 
         // your script 
    }) 
    

    当你添加的内容动态地将其需要的事件delegation

    UPDATE:

    $("some_parent_id_or_class").on('click','img_with_some_class_or_id',function(){ 
    
        //your script 
    }) 
    

    例如

    $("some_parent_id_or_class").on('click','img',function(){ 
    
        //your script 
    }) 
    
    +0

    雅,但你没有在这里委托单击事件... –

    +0

    请检查更新的答案 –

    +0

    但是'img'不是'.check'的子项,它被插入后面。如果你想确保代表团会工作(如果事件气泡到该级别),将其委托给“文档”层面 –

    相关问题