Jquery не работает на HTML, вызванный из сценариев Ajax - PullRequest
1 голос
/ 13 апреля 2011

Я посмотрел на некоторые другие посты, которые я не мог сделать из них головы или хвосты.jquery отлично работает, когда страница загружается, когда те же элементы загружаются из скрипта ajax, jquest не работает.я понимаю, что мне нужно сделать clal обратно, но некоторые могут показать мне, как это написано?

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);
                    }

    });


});

Ajax-скрипт:

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);

    }
    });
}

1 Ответ

2 голосов
/ 13 апреля 2011

Если вы поместите весь свой перетаскиваемый / сбрасываемый код инициализации в функцию, скажем, init(), то при обратном вызове вы просто сделаете:

success: function(msg2){
             $('#item-list2').append(msg2.txt);
             // init draggable and droppable on replace elements
             init();
         }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...