@Daniel_April
Учимся верстать

Почему в Яндекс.Карта есть автофокус для input?

Есть страница, на которой размещена карта через API для расчета стоимости доставки. Используется стандартный routePanelControl с одним активным полем.
Ссылка на страницу: rabota.skorinia.bget.ru.

Проблема: после загрузки страницы поле для ввода адреса получает фокус (через js, атрибута autofocus нет).

Вопрос: как убрать этот автофокус? JS писать на запрет или есть какой-то метод/атрибут вызова/e.t.c для решения этой задачи?

Код вызова карты:
ymaps.ready(mapInit);
				var myMap;


				function mapInit() {
								// Выбираем стоимость за км
								var DELIVERY_TARIFF = 0;
								if ( summaryMass > 1500 ) {
									DELIVERY_TARIFF = ppkHeavy
								} else {
									DELIVERY_TARIFF = ppkLight
								}
								// Минимальная стоимость.
										MINIMUM_COST = 500,
										myMap = new ymaps.Map('delivery-map', {
												center: [54.714968, 55.977592],
												zoom: 15,
												controls: []
										}),
								// Создадим панель маршрутизации.
										routePanelControl = new ymaps.control.RoutePanel({
												options: {
														// Добавим заголовок панели.
														maxWidth: 300,
														showHeader: true,
														title: 'Расчёт доставки'
												}
										}),
										zoomControl = new ymaps.control.ZoomControl({
												options: {
														size: 'small',
														float: 'none',
														position: {
																bottom: 145,
																right: 10
														}
												}
										});
								// Пользователь сможет построить только автомобильный маршрут.
								routePanelControl.routePanel.options.set({
										types: {auto: true}
								});

								 //Если вы хотите задать неизменяемую точку "откуда", раскомментируйте код ниже.
								routePanelControl.routePanel.state.set({
										fromEnabled: false,
										from: 'Уфа, улица Сун-Ят-Сена, 11'
								 });

								myMap.controls.add(routePanelControl).add(zoomControl);

								// Получим ссылку на маршрут.
								routePanelControl.routePanel.getRouteAsync().then(function (route) {

										// Повесим обработчик на событие построения маршрута.
										route.model.events.add('requestsuccess', function () {

												var activeRoute = route.getActiveRoute();
												if (activeRoute) {
														// Получим протяженность маршрута.
														var length = route.getActiveRoute().properties.get("distance"),
														// Вычислим стоимость доставки.
																price = calculate(Math.round(length.value / 1000)),
														// Создадим макет содержимого балуна маршрута.
																balloonContentLayout = ymaps.templateLayoutFactory.createClass(
																		'<span>Расстояние: ' + length.text + '.</span><br/>' +
																		'<span style="font-weight: bold; font-style: italic">Стоимость доставки: ' + price + ' р.</span>');
														// Зададим этот макет для содержимого балуна.
														route.options.set('routeBalloonContentLayout', balloonContentLayout);

														deliveryLength = length.value;
														deliveryCost = price;
														$deliveryLengthSpan.text(deliveryLength);
														$deliveryCostSpan.text(deliveryCost);
														$deliveryLength.val(deliveryLength);
														$deliveryCost.val(deliveryCost);

														$('#ORDER_PROP_20').val(deliveryLength);
														submitForm();
												}
										});
								});
								// Функция, вычисляющая стоимость доставки.
								function calculate(routeLength) {
										return Math.max(routeLength * DELIVERY_TARIFF, MINIMUM_COST);
								}
						}


Ссылка на такую же карту в песочнице Яндекса: https://tech.yandex.ru/maps/jsbox/2.1/deliveryCalc...
  • Вопрос задан
  • 597 просмотров
Пригласить эксперта
Ответы на вопрос 1
@studio_orange
Столкнулся с подобной проблемой, к сожалению опция autofocus в значении false проблему не решает
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы