如何将处理程序事件添加到数组中

时间:2014-06-12 23:20:23

标签: javascript jquery arrays events push

我有一个元素,其中一个事件将在for循环中创建100次 我希望通过push()事件将整个元素保存在数组中,并通过其他函数调用数组,但会出现错误:
Uncaught TypeError: Cannot read property 'getBoundingClientRect' of undefined

我的剧本:

var P = [];
for (var i = 0; i < 100; i++) {
    P.push($('.way')[i].getBoundingClientRect());
}
console.log(P);

现在我已经明白处理程序事件不能包含在数组中,但为什么呢?

如何将元素保存到数组中?是否还有其他方法可以保存我的处理程序事件?

1 个答案:

答案 0 :(得分:0)

由于您已经在使用jQuery,因此可以使用$.each

var P = [];

$('.way').each(function() {
    P.push(this.getBoundingClientRect());
});

console.log(P);

通过这种方式,您可以保留脚本外部的项目数,如果将来更改的话。