簡體   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