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