Здравствуйте!
Только недавно изучаю JavaScript и апи яндекс карт.
Для добавления событий листбоксу я использую вот это:
myListBox.get(0).events.add('click', function () {//сделать что-нибудь});
myListBox.get(1).events.add('click', function () {//сделать что-нибудь});
И так далее для каждого элемента в листбоксе. Так как я использую одну функцию для всех кликов, хочется сделать код короче и не лепить подряд одно и то же.
Вопрос 1: возможно ли добавлять события циклом? Следующий код у меня не работает:
for (i = 0; i < names.length; i++){
myListBox.get(i).events.add('click', function () {
console.log(i); //при клике на любой элемент возвращает последнее значение i
});
}
Вопрос 2: если вариант с циклом не работает, как можно отдельно описать функцию? Пробовал вот так:
function listBoxItemClicked(i){
console.log(i); //просто возвращает ноль; листбокс не реагирует на клики
}
myListBox.get(0).events.a
Спасибо!