Этот вопрос относится к KnockoutJS: отслеживание нажатий в меню . Я был в состоянии сказать, какое меню было нажато, указав значение идентификатора. Мне нужно изменить эту модель и использовать event.target для получения дополнительной информации. Я пытался это , но, похоже, не работает. Я также создал глобальную функцию menuClicked
:
var viewModel = {};
function menuClicked(event) {
var id = ($(event.target).tmplItem().data).Id;
var isActive = viewModel.menuActive();
if (!isActive || viewModel.currentMenu() == id)
viewModel.menuActive(!isActive);
viewModel.currentMenu(id);
}
$(function () {
$.ajax({
url: 'console.asmx/Initialize',
type: "POST",
cache: false,
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json",
success: function (data) {
viewModel = data.d;
viewModel.menuActive = ko.observable(false);
viewModel.currentMenu = ko.observable(0);
ko.applyBindings(viewModel);
}
});
});
И привязать гиперссылки к этому методу:
<a class='${ Class }' data-bind='click: menuClicked'>${ Name }</a>
Но каждый раз, когда я щелкаю гиперссылку, объект события имеет значение null / undefined. Я пытаюсь получить объект, используемый для визуализации гиперссылки, как в в этом примере , за исключением того, что мои гиперссылки не имеют идентификаторов.
Любая помощь очень ценится.