我想在动态创建的元素上使用on()
函数,但是每个回调函数都不相同,因此我无法选择类别或其他类别。
这是我的代码:
jsonObj = $.getJSON("https://api.myjson.com/bins/1d7m9k", (jsonFile) => {
jsonObj = jsonFile;
});
$('document').ready(() => {
const $infobox = $('.col-md-6.info-box');
const $listbox = $(".col-md-6.list-box");
const div = "<div class='overlay'></div>";
let map = new GMaps({
div: '#map',
lat: '42.504154',
lng: '12.646361',
zoom: 5
});
if (jsonObj.readyState != 4) {
setTimeout(() => {
for (let i = 0; i < jsonObj.length; i++) {
element = jsonObj[i];
$listbox.html($listbox.html() + "</br><a href='#' id='" + element.Name + "'>" + element.title + "</a>");
/*$("#"+element.Name).on('click',()=>{
map.removeMarkers();
map.removeOverlays();
marker = map.addMarker(element);
map.drawOverlay({
lat: element.lat,
lng: element.lng,
content: div,
verticalAlign: 'bottom'
});
}); */
$("#" + element.Name).click(() => {
map.removeMarkers();
map.removeOverlays();
marker = map.addMarker(element);
map.drawOverlay({
lat: element.lat,
lng: element.lng,
content: div,
verticalAlign: 'bottom'
});
});
}
}, 500);
}
如果有人有一个主意,那就太好了。 非常感谢,祝您有美好的一天。 附言Rory McCrossan提出的解决方案对我不起作用,因为每个回调函数必须不同。