无序列表“单击”绑定

时间:2013-04-30 01:09:44

标签: javascript knockout.js

我有一个无序列表,我正在尝试为每个列表项创建click绑定。

如何包含列表ID和点击绑定?

<ul>
    <li id ="tab1" data-bind="click: loadGeneralDataFromServer"><span data-bind='text:value'>General</span></li>

    <li id = "tab2" data-bind="click: loadWelfareDataFromServer"><span data-bind='text:value'>Welfare</span></li>
</ul>

如何将id和click绑定包含为使用list id的js和使用click绑定的另一个js?

1 个答案:

答案 0 :(得分:0)

请参阅this page中间的“注2”。它解释了如何访问触发viewmodel内部点击的原始事件对象。从那个事件中,你应该能够获得源元素和它的id。

这是一个简单的例子:

<div id="div1" data-bind="click: clickDiv">Some div item</div>
<div id="div2" data-bind="click: clickDiv">another div</div>

var vm = {
    clickDiv: function(data, event) {
        alert(event.target.id);
    }
}

ko.applyBindings(vm);

jsFiddle