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

How can I add handler event into an array

本文关键字:添加 数组 事件 程序 处理      更新时间:2023-09-26

我有一个带有事件的元素,该事件将在for循环中创建100次。
我想通过push()事件保存数组中的所有元素并通过另一个函数调用数组但出现错误:
Uncaught TypeError: Cannot read property 'getBoundingClientRect' of undefined

My Script:

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

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

我应该做什么来保存元素到一个数组?
或者有其他方法来保存我的处理程序事件?

如果你已经在使用jQuery,你可以使用$.each:

var P = [];
$('.way').each(function() {
    P.push(this.getBoundingClientRect());
});
console.log(P);

这样你就可以保留脚本外的条目数,以备将来更改。