Код: Выделить всё
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().
p>
Проверил это в множестве разных браузеров. По-прежнему безуспешно.
Почему?
Подробнее здесь: https://stackoverflow.com/questions/793 ... t-not-work
Мобильная версия