传单标记都具有相同的价值
Leaflet Markers All Have Same Value
本文关键字:单标记 更新时间:2023-09-26
我正在使用Mapbox和Javascript在Leaflet中工作。我知道我问题的根源在于循环内的javascript闭包。我看过所有其他例子,似乎找不到与我相似的例子。
我有一个 for 循环循环遍历我添加的点,但它们最终都是相同的值。
这是添加传单标记,其中包含应该是附加属性的要素
marker.bindPopup(<button class = "trigger" onclick = buttonClick(geojsonFeature) </button> )
这是onclick函数,调用时应显示当时发生的计数,但它显示循环中的最后一个计数
function buttonClick(object){
alert(object.properties.Count)
}
我尝试过类似的东西:
for (var i = 1; i <= 5; i++) {
function clickHandler(num) {
$("#div" + i).click(
function() {
alert(num)
}
)
}
clickHandler(i);
但无济于事。任何帮助将不胜感激!
点击按钮时,geojson功能不是你想象的那样......
因此,您必须将其存储在某个地方,并提供一种在单击按钮时检索它的方法。
像...
//your creation loop
jsonString = JSON.stringify(geojsonFeature);
marker.bindPopup(<button class = "trigger" data-json = jsonString onclick = buttonClick(this) </button> )
// Note the this operator that will give context when the button is clicked
// end of your creation loop
function buttonClick(object){
// retrieve button attribute called data-json and make it an object
feature = JSON.parse(object.getAttribute("data-json"));
alert(feature.properties.Count)
}
相关文章:
- onClick 事件在表单标记中不起作用
- 如何在一个表单标记中验证多个字段集
- 如何在Rails表单标记中获取onclick属性
- 编辑gravityforms表单标记
- 在javascript中通过id获取元素,而页面上没有任何表单标记
- 验证不带表单标记的Html 5输入
- jQuery 中的表单标记值
- Ajax 不使用表单标记
- 如何在表单标记中调用非表单元素
- 在表单标记(HTML,JavaScript)中插入
- 表单标记内没有 jquery 事件正常工作
- 在输入表单标记中使用 onclick 属性时出现 JavaScript 未捕获的引用错误
- 如何将参数传递给在表单标记外部定义的 javascript 函数
- 获取选项 从其他选项中选择名称 选择不带表单标记的名称
- 如何将表单“传播”到引导面板的两个区域?(浏览器“修复”未关闭的表单标记)
- 如何验证没有表单标记的字段
- 页面上的任何按钮都会发送表单,即使是表单标记之外的按钮
- 如何删除单标记谷歌地图api v3
- 如何使用javascript动态创建表单标记
- 在表单标记外自动填充和提交输入字段