繁体   English   中英

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

[英]How can I add handler event into an array

我有一个带有事件的元素,它将在for循环中创建100次。
我想通过push()事件将整个元素保存在Array中,并通过另一个函数调用Array,但是出现错误:
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);

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

我应该怎么做才能将元素保存到数组中?
还是还有其他方法可以保存我的处理程序事件?

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

var P = [];

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

console.log(P);

这样,您可以保留脚本外部有多少项的计数,以备将来更改时使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM