Клуб API Карт

Не работает select, option в браузерах Chrome, Safari для событий Яндекс.Карт

imax57
20 октября 2014, 21:53

Собственно была обнаружена проблема, что на странице при использовании браузеров Chrome, Safari не обрабатываются события option на которые назначены события карт следующие:

////////////////////////////////////////////////////////////////////////////////////////
    
        document.getElementById('buttonOrel').onclick = function () {
        myMap.setCenter([52.969617, 36.072952], 12, {
           checkZoomRange: true,
           duration: 2000
        });
    };    
        document.getElementById('buttonMzensk').onclick = function () {
        myMap.setCenter([53.278881,36.576119], 14, {
           checkZoomRange: true,
           duration: 2000
        });
    };
        document.getElementById('buttonSpasskoeLutovinovo').onclick = function () {
        myMap.setCenter([53.370993,36.631085], 15, {
           checkZoomRange: true,
           duration: 2000
        });
    };

Сами события отправляются для карты из селектора:

 

                <select class="select">
                     <option id="buttonOrel">Орел</option>
                     <option id="buttonMzensk">Мценск</option>
                     <option id="buttonSpasskoeLutovinovo">Спасское-Лутовиново</option>
                </select>

 

но работает это все только в браузерах IE 10, Mozilla, Opera. В Safari на iOS и Google Chrome на ПК не работают. Как решить проблему?

 

Страница: http://airorel.sgt.su/

5 комментариев
Подписаться на комментарии к посту

Мы проверим что там не так.


Обычно слушают "change" на селекте. Если у вас будет 100 option-ов, вы же не будете на каждый onclick навешивать

Судя по этому оно не работает само по себе, и дело тут не в АПИ.

Вот элементарный пример, который ничего у меня не алертит

А как мне в Яндекс Картах обозначить события которые опишу таким образом в option? Внедрил пример в страницу и на Chrome не работает, а на ФайрФоксе уже работает.

 

Сейчас так:

 

        document.getElementById('buttonOrel').onclick = function () {
        myMap.setCenter([52.969617, 36.072952], 12, {
           checkZoomRange: true,
           duration: 2000
        });
    };    
        document.getElementById('buttonMzensk').onclick = function () {
        myMap.setCenter([53.278881,36.576119], 14, {
           checkZoomRange: true,
           duration: 2000
        });
    };
        document.getElementById('buttonSpasskoeLutovinovo').onclick = function () {
        myMap.setCenter([53.370993,36.631085], 15, {
           checkZoomRange: true,
           duration: 2000
        });
    };

Спасибо, заработало, но только после подключения последней библиотеки: