在我的页面上,我想跟踪用户在obdervable中点击的按钮:
self.action = ko.observable();
我可以编写一个函数setAction
并在每次单击按钮时使用参数调用它,如下所示:
self.setAction = function (action) {
self.action(action);
}
但是我想知道是否有办法在没有每次调用setAction
功能的情况下进行此操作?
答案 0 :(得分:2)
你可以内联:
<button type="button" class="btn" data-bind="click: action.bind($data, 'btn-name')">btn-name</button>
或传递实际的按钮对象
<button type="button" class="btn" data-bind="click: action.bind($data, this)">btn-name</button>
或者,如果您的问题是每次都必须编写此单击事件,则可以为每个按钮添加一个类,并添加一个事件侦听器来设置操作。
<button type="button" class="btn actionBtn">btn-name</button>
$(".actionBtn").click(function(){
var btn = $(this);
viewModel.action(btn);
});