jQuery Multisortable 是一个基于 jQuery UI Sortable 的插件,它扩展了标准 Sortable 的功能,允许同时选择和排序多个元素。
在使用 jQuery Multisortable 时,可以通过以下几种方式访问其他元素:
$("#sortable").multisortable({
start: function(event, ui) {
// ui.item - 当前被拖动的元素
// ui.helper - 拖动时的辅助元素
// ui.items - 所有被选中的可排序元素
console.log("当前拖动元素:", ui.item);
console.log("所有选中元素:", ui.items);
},
stop: function(event, ui) {
// 排序完成后可以访问所有元素
var allItems = $(this).children();
console.log("所有元素:", allItems);
}
});
$("#sortable").multisortable({
update: function(event, ui) {
// 获取所有可排序元素
var allItems = $(this).children();
// 获取特定类别的元素
var specialItems = $(this).children(".special-class");
// 获取当前排序后的顺序
var itemIds = $(this).children().map(function() {
return $(this).attr("id");
}).get();
console.log("所有元素:", allItems);
console.log("特殊元素:", specialItems);
console.log("ID顺序:", itemIds);
}
});
$("#sortable").multisortable({
selectedClass: "selected-item",
stop: function(event, ui) {
// 获取所有被选中的元素
var selectedItems = $(this).find(".selected-item");
// 获取第一个被选中的元素
var firstSelected = selectedItems.first();
// 获取最后一个被选中的元素
var lastSelected = selectedItems.last();
}
});
tolerance
选项调整拖放时的灵敏度$(function() {
$("#sortable").multisortable({
items: "> li",
selectedClass: "ui-selected",
start: function(e, ui) {
console.log("开始拖动,选中了 " + ui.items.length + " 个元素");
},
change: function(e, ui) {
console.log("位置变化,当前拖动元素:", ui.item);
},
stop: function(e, ui) {
var order = $(this).children().map(function() {
return $(this).attr("id");
}).get().join(",");
console.log("最终顺序:", order);
}
});
});
这个示例展示了如何在整个排序过程中访问和操作其他元素。
没有搜到相关的文章