Почему эта кнопка в элементе листовки L.control() не работает?Javascript

Форум по Javascript
Ответить
Anonymous
 Почему эта кнопка в элементе листовки L.control() не работает?

Сообщение Anonymous »

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

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

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);

(полный пример здесь), но кажется, что нажатие кнопки ни к чему не приводит. Я перепробовал кучу версий (см. закомментированный код), но безуспешно.
Ошибок не вижу, но и консоли не вижу. log() тоже вызывает.
Я пробовал использовать L.DomEvent для привязки нажатия к buttonClicked():

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

L.DomEvent.on(button, 'click', function() {
info.buttonClicked();
});
Я также попробовал создать кнопку с помощью const newButton = document.createElement('button'); вместо L.DomUtil.create().
Я также попробовал создать кнопку с помощью const newButton = document.createElement('button'); вместо L.DomUtil.create().
p>
Проверил это в множестве разных браузеров. По-прежнему безуспешно.
Почему?

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

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

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

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

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

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