0
此問題與KnockoutJS: Tracking menu clicks有關。我已經能夠通過提供一個id值來判斷哪個菜單被點擊了。我需要更改此模型並使用event.target獲取更多信息。我試過this,但它似乎沒有工作。我還創建了全球功能menuClicked
:KnockoutJS:事件對象
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 /未定義。我想要做的是檢索用於呈現超鏈接的對象,如this example,除非我的超鏈接沒有ID。
任何幫助,非常感謝。
太棒了!再一次感謝你! – 2011-03-13 21:54:46