0
我已經集成了jQuery「排序」功能到我的網站,並將其與一個小的例外完美的作品。它只在我點擊頁面上的任何地方後才起作用。查找可排序元素的頁面部分在ajax查詢之後加載,所以我使用「on」函數。我很想弄清楚如何讓這個工作不需要先點擊。jQuery的可排序的唯一火災第二次點擊
$(document).on("mousedown.sortable", "#container", function() {
$("#container").sortable({
update: function(event, ui) {
var data = $(this).sortable("serialize");
$.ajax({
data: data,
type: 'POST',
url: 'myurl'
});
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js">
</script>
<div id="mainContainer">
<ul id="container">
<li id="item-1">Item 1</li>
<li id="item-2">Item 2</li>
</ul>
</div>
對於後來人讀這一點,關鍵要接受的答案是擁有jQuery代碼部分加載的每個HTML的部分是通過AJAX加載到文檔的時間,而不是在第一次加載頁面本身時加載的「主」代碼片段中。
李,感謝,但由於HTML是通過一個單獨的AJAX調用的頁面加載完成後加載,這些元素不存在以前與該代碼將無法正常工作。 – redstang423
好的,很簡單。只需在添加新元素後調用'sortable'代碼即可。 –
我沒有關注 - 你是否建議我在AJAX加載的php中調用這個jQuery代碼?包含可排序列表的div的內容可能會被替換並重新加載數次。多次加載jquery腳本會產生衝突嗎? – redstang423