У меня есть функция getJSON, которая преобразует результаты в HTML-шаблон для отображения в виде списка, который содержит разные гиперссылки в каждом элементе списка. Мне нужно переопределить обычную функцию html ссылки, чтобы она не открывала новую страницу, а загружалась в определенный раздел с помощью метода load (), расположенного в моей функции navClickListener ().
Если я добавлю фиктивный URL-адрес в var gotoURL = '';//<--..AND GET THE ITEMS LINK INTO THIS VAR...
, он будет работать как запланировано, но мне нужно получить фактические URL-адреса из элементов массива.
Я не могу придумать, как это сделать. Можете ли вы просмотреть мои фрагменты и обратить внимание на встроенные комментарии во всех CAPS.
Спасибо за помощь.
function loadNav(url, container, appendE) {
$.getJSON(url, function(data){
$.each(data.items, function(){
var newItem = $('#' + container).clone();
// Now fill in the fields with the data
. . . .
newItem.find("a").attr("href", this.gotoURL);//<--PREVENT NORMAL FUNCTION...
// And add the new list item to the page
newItem.children().appendTo('#' + appendE)
});
. . . .
// Click listener for navigation items
var target = data.targetKey;
var gotoURL = '';//<--..AND GET THE ITEMS LINK INTO THIS VAR...
navClickListener(appendE, target, gotoURL);
});
};
/* ========== Navigation click listener function ============= */
function navClickListener(appendE, target, gotoURL) {
$('#' + appendE).on('click', 'a', function(e){
e.preventDefault();
$('#' + target).load(gotoURL);//<--...SO IT GETS INTO HERE??
. . . .
});
};