2011-04-13 58 views
1

我看了一些其他帖子,我無法制作它們的正面或反面。當頁面加載時,jquery工作正常,當相同的元素從ajax腳本加載時,jquest不起作用。我明白我需要做一個clal回來,但可以請一些人告訴我這是如何寫的?jquery無法處理從Ajax腳本調用的html

HTML:

<div id="item-list2"> 
<div class="content drag-desired"> 
<div class="product"><img src="img/products/iPod.png" alt="iPod" width="128" height="128" class="pngfix" />iPod</div> 
<div class="product"><img src="img/products/iMac.png" alt="iMac" width="128" height="128" class="pngfix" />iMac</div> 
</div>     
</div> 

的jQuery:

$(document).ready(function(){ 

    $(".product img").draggable({ 

    containment: 'document', 
    opacity: 0.6, 
    revert: 'invalid', 
    helper: 'clone', 
    zIndex: 100 

    }); 

    $("div.content.drop-here").droppable({ 

      drop: 
        function(e, ui) 
        { 
         var param = $(ui.draggable).attr('src'); 

         if($.browser.msie && $.browser.version=='6.0') 
         { 
          param = $(ui.draggable).attr('style').match(/src=\"([^\"]+)\"/); 
          param = param[1]; 
         } 


         viewlist(param); 
         addlist(param); 
        } 

    }); 


}); 

阿賈克斯腳本:

function viewlist(param) 
{ 
    $.ajax({ 
    type: "POST", 
    url: "ajax/items.php", 
    data: 'img='+encodeURIComponent(param), 
    dataType: 'json', 
    beforeSend: function(x){$('#ajax-loader').css('visibility','visible');}, 
    success: function(msg2){ 

     $('#item-list2').append(msg2.txt); 

    } 
    }); 
} 

回答

2

如果你把所有的可拖動/可棄的初始化代碼放到一個函數,說init(),那麼在回電時你只需要做:

success: function(msg2){ 
      $('#item-list2').append(msg2.txt); 
      // init draggable and droppable on replace elements 
      init(); 
     } 
相關問題