为什么var test = positions.join("/");
返回[object Object] / [object Object] / [object Object]等等?
需要改变什么才能使其正常工作?
它应该返回0,0 / 0,360 / 0,660等位置。我不确定逗号是否会在那里。
$(function() {
$('.AppList').droppable({
accept: ".App",
tolerance: 'fit',
drop: function(event, ui) {
var apps = $(".App"),
positions = [];
$.each(apps, function (index, app) {
var positionInfo = $(app).position();
positions.push(positionInfo);
});
var test = positions.join("/");
console.log(test);
}
});
});
答案 0 :(得分:2)
怎么样:
var test = JSON.stringify(positions);
console.log(test);
无需发明自己的序列化格式。
答案 1 :(得分:1)
您正在从函数position()返回对象。试试这个:
$.each(apps, function (index, app) {
var pos = $(app).position(),
positionInfo = pos.top+","+ pos.left;
positions.push(positionInfo);
});
答案 2 :(得分:0)
Array.join() method返回一个字符串。由于你的数组项是objects,所以你不能指望任何特别有用的东西 - [object Object]
是JavaScript在将对象转换为字符串时默认创建的。