Я включил функцию сортировки 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» код после добавления новых элементов. –
Я не следую - вы предлагаете мне, чтобы этот код jquery вызывался в php, который был загружен из загрузки AJAX? Содержимое div, содержащего сортируемый список, может быть заменено и перезагружено несколько раз. Будет ли загрузка jquery-скрипта несколько раз создавать конфликт? – redstang423