Не работают клики
Доброго всем времени суток!
Добавил выпадающий список, но никак не добавить событие Click к каждому элементу. При клике по пунктам меню, ничего не происходит. Подскажите как правильно добавить обработчик события?! файл list_box_layout.js ymaps.ready(init); function init () { var myMap = new ymaps.Map('map', { center: [55.751574, 37.573856], zoom: 9, controls: [] }); var cityList = new ymaps.control.ListBox({ data: { content: 'Select a city' }, items: [ //new ymaps.control.ListBoxItem('Москва'), //new ymaps.control.ListBoxItem('Новосибирск'), //new ymaps.control.ListBoxItem({options: {type: 'separator'}}), //new ymaps.control.ListBoxItem('Нью-Йорк') ] }); // Перебираем все объекты коллекции buildings for(var i = 0; i < buildings.length; i++) { var itemCity = new ymaps.control.ListBoxItem(buildings[i].name); itemCity.events.add('click',function(){ //myMap.setCenter([buildings[i].latitude,buildings[i].longitude]); alert(buildings[i].name); }); cityList.add(itemCity); } /* cityList.get(0) .events.add('click', function () { myMap.setCenter([55.752736, 37.606815]); }); cityList.get(1) .events.add('click', function () { myMap.setCenter([55.026366, 82.907803]); }); cityList.get(3) .events.add('click', function () { myMap.setCenter([40.695537, -73.97552]); }); */ myMap.controls.add(cityList, {float: 'left'}); } buildings.js var buildings = [ {latitude: 37.678514,longitude: 55.758255,name: 'Москва (Самокатная)', description:'Москва, ул. Самокатная, дом 1, строение 21'}, {latitude: 37.587398,longitude: 55.734172,name: 'Москва (Парк культуры)', description:'Москва, ул. Тимура Фрунзе, 11 и ул. Льва Толстого, 16'}, {latitude: 60.644555,longitude: 56.845209,name: 'Екатеринбург', description:'Екатеринбург, ул. Гагарина, 8, офис 602'}, {latitude: 30.406127143,longitude: 59.9590655815,name: 'Санкт-Петербург', description:'Санкт-Петербург, Cвердловская набережная, дом 44, бизнес-центр «Бенуа» (4-6 эт.)'}, {latitude: 30.749512,longitude: 46.459542,name: 'Одесса', description:'Одесса, пр. Шевченко, дом 4-Д, офис 61'}, {latitude: 30.598379,longitude: 50.45332,name: 'Киев', description:'Киев, ул. Луначарского, 4'}, {latitude: 34.095482,longitude: 44.949507,name: 'Симферополь',description: 'Симферополь, ул. Героев Аджимушкая, 6/13, второй этаж'}, {latitude:-122.348557,longitude: 37.578894,name: 'Burlingame',description: '3d floor, Suite 306, 330 Primrose Road Burlingame, CA 94010'} ]; list_box_layout.html Код:
<!DOCTYPE html> |
Mutex,
for( let |
Почему надо так?
Можешь пояснить почему так?
Ведь в коде всего одна переменная i, в чём была проблема? |
Цитата:
Цитата:
var будет хранить последнее значение равное length, таких элементов не бывает. нужно использовать или let или forEach вместо for. |
Цитата:
|
Часовой пояс GMT +3, время: 23:42. |