JQuery живой и сортируемый - PullRequest
2 голосов
/ 01 декабря 2010

У меня есть следующий статический HTML:

<ul id="mylist">
    <li id="li_10"><a href="10">Item 10</a></li>
    <li id="li_20"><a href="20">Item 20</a></li>
    <li id="li_30"><a href="30">Item 30</a></li>
    <li id="li_40"><a href="40">Item 40</a></li>
    <li id="li_50"><a href="50">Item 50</a></li>
</ul>

У меня есть следующий jQuery:

<script>
    $( document ).ready( function() { 
        $("#mylist").sortable(
            {axis:"y"}
        );
    });
</script>

Это работает отлично, но перестает работать, как только я использую jQuery / AJAX для генерации вышеуказанного HTML. Поэтому я предполагаю, что мне нужно использовать «живую» функцию в jQuery для сортировки. Может ли кто-нибудь помочь мне реализовать это?

1 Ответ

6 голосов
/ 01 декабря 2010

.live() основано на событиях, поэтому вы не можете использовать его для таких плагинов. То, что вы можете легко сделать, это вызвать этот код после завершения вызова AJAX, например:

$.ajax({
 //options...
  success: function(data) {
    //create UL
    $("#mylist").sortable({axis:"y"});
  }
});

То же самое касается коротких форм $.ajax(), например:

$("#mylist").load("pageThatGivesTheLIElementGoodness.htm", function() {
  $(this).sortable({axis:"y"});
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...