2010-12-01 30 views
2

我有以下的静态html:jQuery的生活和排序

<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中使用“live”函数来完成可排序部分。有人可以帮我实施吗?

回答

6

.live()是基于事件的,所以你不能将它用于这样的插件。你可以容易做的就是调用代码时,你的AJAX调用完成,例如:

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

这同样适用于短形式的$.ajax(),例如:

$("#mylist").load("pageThatGivesTheLIElementGoodness.htm", function() { 
    $(this).sortable({axis:"y"}); 
}) 
+0

谢谢,非常完美! – oshirowanen 2010-12-01 11:19:01