javascript
  • jquery
  • ajax
  • 2016-01-20 59 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'的子項,它被插入後面。如果你想確保代表團會工作(如果事件氣泡到該級別),將其委託給「文檔」層面 –

    相關問題