Я получаю неперехваченную referenceError всякий раз, когда функция 'countryDetail' вызывает переменную 'country', используя следующий код:
function load_countries(e) {
var count = e.features.length;
if (!count) {return;}
for (var i = 0; i < count; i++) {
var feature = e.features[i];
// get the country name & rank
country = feature.data.properties.NAME
score = rsfpfi2010[country]
feature.element.setAttribute("onmouseover", "countryDetail("+country+","+score+");");
feature.element.setAttribute("onmouseout", "hideCountryDetail();");
feature.element.onmousemove = detailFollow;
}
}
// Tooltip content & display
function countryDetail(c,s) {
//console.log(c,s);
if (score == undefined) {
$("#tooltip").html("<h3>"+ c +"</h3><br/>Data Unavailable");
} else {
$("#tooltip").html("<h3>"+ c +"</h3><br/>Score: " + s);
}
$("#tooltip").show();
}
Чего я не понимаю, так это того, что если я заменю «страну» на «счет», как в следующей строке:
feature.element.setAttribute("onmouseover", "countryDetail("+score+","+score+");");
все работает нормально. (Разумеется, за исключением того, что я не получаю нужные мне данные).
Переменная 'score' вызывается из файла json, загруженного в заголовок, тогда как переменная 'country' извлекается непосредственно из данных geoJSON, записанных на страницу.
Я почти уверен, что упустил что-то очень простое, но сейчас я полностью привязан к этому.
спасибо заранее!
Nathan