我很难找到如何添加removeEventListener()的方法。当我添加addEventListener()时,效果很好,但是当我添加removeEventListner以便能够删除地图上的数据时,它不起作用。 (我正在使用传单)
这是我的做法:
tail -f /var/log/mail.log
谢谢
答案 0 :(得分:3)
就像您立即删除事件监听器一样。调用事件后,尝试将其删除。
var geodata = {{{jsonData}}}; // <- noting this is unusual. guessing its sudo code
var bouto = document.getElementById("bouton");
var displayElement = document.getElementById("display"); // whatever your display data element is
function jsoncalls() {
// I'm assuming you want to remove it after jsoncall() is called.
bouto.removeEventListener("click", jsoncalls);
bouto.addEventListener("click", hideData);
L.geoJSON(geodata, {
onEachFeature: onEachFeature
})
.addTo(mymap);
// show your display element here
displayElement.style.display = "block";
}
function hideData() {
bouto.removeEventListener("click", hideData);
bouto.addEventListener("click", jsoncalls);
// hide your display element here
displayElement.style.display = "none";
}
bouto.addEventListener("click", jsoncalls);
这是一个更新的jsfiddle,它将在单次点击时显示元素,而在单次点击时隐藏。 https://jsfiddle.net/gmbnrx2q/