我有可排序的列表,该列表基于通过添加按钮的自定义用户输入而增长。列表中的顶部和底部项目是最大值。和分钟。值,我需要知道它们何时被拖动以及到哪里。为了弄清楚这一点,我查看了 Safari Inspector 中的“event”和“ui”对象,以了解这些对象是否包含抓取的 HTML-Object 的子索引(编号)。
这是我的代码:
// Define the sorting settings/rules of the dsList (items list)
$('#dsList').sortable({
handle: '.handle',
cursor: 'move',
axis: 'y',
opacity: 0.7,
scroll: true,
start: function(event, ui) {
},
update: function(event, ui) {
// Find out if the first or last item was dragged
var firstDragged = false;
var lastDragged = false;
if ($(ui.item[0]).find('.firstItem').val() != undefined) {
firstDragged = true;
}
if ($(ui.item[0]).find('.lastItem').val() != undefined) {
lastDragged = true;
}
// Calculate the list values
var itemsCount = $('#dsList').children().length;
//console.log(itemsCount);
// Check if the first item dragged below the last
console.log(ui);
// Update list settings
updateListSettings();
// Refresh the list
updateList();
}
});
这里的问题是“this”代表父级(#dsList),我找不到我正在拖动的对象的子级编号。我可以计算元素移动了多少像素,然后计算它的高度,但我不喜欢这个想法在未来的可伸缩性方面。
知道如何根据其父元素(#dsList)获取拖动元素的childCount吗?