0

为什么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);
        }
    }); 
});
4

3 回答 3

2

怎么样:

var test = JSON.stringify(positions);
console.log(test);

无需发明自己的序列化格式。

于 2013-04-27T08:46:07.180 回答
1

您正在从函数 position() 返回对象。试试这个:

 $.each(apps, function (index, app) {
           var pos =  $(app).position(),   
               positionInfo = pos.top+","+ pos.left;

            positions.push(positionInfo);
        });
于 2013-04-27T08:37:50.897 回答
0

Array.join () 方法返回一个字符串。由于您的数组项是对象,因此您不能期望任何特别有用的东西——<code>[object Object] 是 JavaScript 在将对象转换为字符串时默认创建的。

于 2013-04-27T08:38:43.393 回答