Парсирую данные с сервера с помощью HTML или RSS парсера.
У каждой записи имеется общий id для стиля CSS и уникальный идентификатор передающийся JS функции (в атрибуте class="id" или date-id="id");
Но так как эти данные загружаются с сервера или задаются в самом коде JS, то функция отслеживающая клики по этим записям для перехода с помощью WinJS.Navigation.navigate не работает.
Собственно как сделать чтобы функция по отслеживанию клика по данным загружаемом из вне в этом же JS файле работала? Пишу в Visual Studio под Windows Market.
Функция отслеживающая клики:
function ToStory(eventInfo) {
var link = eventInfo.target;
var storyid = link.className;
if ((storyid == '') || (storyid == 0)) {
WinJS.Navigation.back(10).done();
} else {
WinJS.Navigation.navigate("/pages/story/story.html");
}
}
Функция загрузки RSS данных:
function loadRemoteXhr() {
document.getElementById("topstory").innerHTML = "";
WinJS.xhr({ url: "ссылка на RSS" }).then(
xhrParseXml, xhrError
);
}
function xhrParseXml(result) {
var outputArea = document.getElementById("topstory");
var xml = result.responseXML;
if (xml) {
var items = xml.querySelectorAll("rss > channel > item");
if (items) {
var length = Math.min(10, items.length);
for (var i = 0; i < length; i++) {
var link = document.createElement("li");
link.setAttribute("id", "tostory");
link.setAttribute("class", items[i].querySelector("link").textContent);
link.innerText = items[i].querySelector("title").textContent;
outputArea.appendChild(link);
}
} else {
outputArea.innerHTML = "There are no items available at this time";
}
} else {
outputArea.innerHTML = "Unable to retrieve data at this time. Status code: " + statusCode;
}
}
function xhrError(result) {
var statusCode = result.status;
var outputArea = document.getElementById("topstory");
outputArea.innerHTML = "Unable to retrieve data at this time. Status code: " + statusCode;
}
Вызов функций:
//RSSload
loadRemoteXhr();
//Навигация
tostory.addEventListener("click", ToStory, false);
<div id="blocks">
<div id="blocktit">Популярные истории</div>
<ul id="topstory"></ul>
</div>