2010-12-01 31 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