[英]How can I pass a local variable from function to event listener function in JavaScript?
[英]How can I use a local variable in an event listener?
我的問題是使用 Google Maps API,但我很確定這是一個普遍的 JavaScript 問題。
我有一個定義一系列標記的本地對象數組。 處理這些對象是沒有問題的。 但是我想在我創建的事件處理程序中使用其中一個值,並且在調用該事件處理程序時該值始終是“未定義的”。 (這是合乎邏輯的,因為該值是本地數組的一部分,但我不知道如何解決這個問題。)
編碼:
var markers = [
{ lat: 58, lng: 07, title: 'Marker 01', url: 'article.aspx' },
.... /* etc */
]
for (var idx in markers) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng( markers[idx].lat, markers[idx].lng ),
title: markers[idx].title,
map: map
});
google.maps.event.addListener( marker, 'click', function() {
window.location.href = markers[idx].url;
});
}
當我點擊最終地圖中的一個標記(即觸發“點擊”偵聽器)時,我被重定向到一個名為“未定義”的頁面,因為“url”屬性不再具有值。 我該如何解決?
也許您可以將 url 傳遞給調用 addListener 的函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.