Кнопка в листовке Элемент L.control() не отвечаетHtml

Программисты Html
Ответить
Anonymous
 Кнопка в листовке Элемент L.control() не отвечает

Сообщение Anonymous »

Я хочу добавить кнопку в информационное окно L.control() на карте листовки. Неважно, каково было первоначальное назначение кнопки, теперь я просто хочу знать, почему это не работает (

Код: Выделить всё

info.buttonClicked()
не вызывается при нажатии кнопки):

Код: Выделить всё

let map;

map = L.map("map").setView([45.0, 0.0], 8);

var tiles = L.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png", {
maxZoom: 19,
}).addTo(map);

let info = L.control();

info.onAdd = function (map) {
this._div = L.DomUtil.create("div", "info");

var button = L.DomUtil.create('button', 'close-btn', this._div);
button.innerHTML = 'x';
button.style.float = 'right';

button.addEventListener('click', function() {
console.log('buttonClicked event');
info.buttonClicked();
});

this._div.innerHTML += "some info";

return this._div;
};

info.buttonClicked = function() {
console.log('info.buttonClicked() called');
//this._div.innerHTML += '';
};

info.addTo(map);

(полный пример здесь), тогда как это работает (остальная часть кода та же):

Код: Выделить всё

info.onAdd = function (map) {
this._div = L.DomUtil.create("div", "info");

this._div.innerHTML = 'x';
this._div.innerHTML += "some info";

return this._div;
};
В первом случае я не вижу сообщений об ошибках, но ничего не происходит. Почему?
ПРИМЕЧАНИЕ. Добавление L.DomEvent.disableClickPropagation(this._div);, как предложено в одном из ответов ниже, не решает эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/793 ... responsive
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»