在我的网页我想跟踪至极按钮,用户在obdervable点击:设置观察到的值单击
self.action = ko.observable();
我可以编写一个函数setAction
与每个按钮上点击一个参数调用它,东西像这样:
self.setAction = function (action) {
self.action(action);
}
但我不知道是否有办法做到这一点,而不必每次调用setAction
功能?
在我的网页我想跟踪至极按钮,用户在obdervable点击:设置观察到的值单击
self.action = ko.observable();
我可以编写一个函数setAction
与每个按钮上点击一个参数调用它,东西像这样:
self.setAction = function (action) {
self.action(action);
}
但我不知道是否有办法做到这一点,而不必每次调用setAction
功能?
你可以做到这一点在线:
<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);
});
你是说像使用jQuery的属性?像按钮的ID一样。 $(this).attr('id') –
'btn'的值看起来像'div#cancel.tab.actionBtn.tabSelected'有没有办法只得到这个名字? – user3378165
关于如何实现这一点的任何想法? – user3378165
[淘汰赛事件代表团(http://www.knockmeout.net/2012/11/revisit-event-delegation-in-knockout-js.html) –