JQuery UI获取丢弃元素的宽度和高度
问题描述:
如何获取drop元素的高度和宽度?我尝试了'ui.draggable.width'或'ui.width',但它不起作用。这是我的代码:JQuery UI获取丢弃元素的宽度和高度
$('#bagpack').droppable({
accept: '.item',
drop: function(ev, ui) {
console.log(ui.draggable.width); // Doesn't work
if (ui.offset.left - $(this).offset().left < -20 || ui.offset.top - $(this).offset().top < -20 ||
($(this).offset().left + $(this).width()) - (ui.offset.left + ui.draggable.width/2) < 20 ||
($(this).offset().top + $(this).height()) - (ui.offset.top + ui.draggable.height/2) < 40)
{
$(ui.draggable).draggable({
revert: true,
stop: function(){
$(ui.draggable).draggable('option','revert','invalid');
}
});
}
else
{
itemEquip(ui.draggable, this, ui.offset.left - $(this).offset().left, ui.offset.top - $(this).offset().top);
}
}
});
答
使用$(ui.draggable)
元素的height()
和width()
功能。例如,
$('#bagpack').droppable({
accept: '.item',
drop: function(ev, ui) {
console.log($(ui.draggable).width());
console.log($(ui.draggable).height());
}