Javascript knockoutjs方法中的ButtonId

Javascript knockoutjs方法中的ButtonId,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我有两个按钮,如下所示: <button id="btnPrevious" class="icon-backward" data-bind="click: $root.GoForWeek"></button> <button class="icon-forward" data-bind="click: $root.GoForWeek"></button> 请尝试以下代码进行函数声明: self.GoForPreviousWeek = funct

我有两个按钮,如下所示:

<button id="btnPrevious" class="icon-backward" data-bind="click: $root.GoForWeek"></button>

<button class="icon-forward" data-bind="click: $root.GoForWeek"></button>

请尝试以下代码进行函数声明:

self.GoForPreviousWeek = function (data, event) {
现在,event.target将告诉您单击了哪个按钮。然后您可以使用

$(event.target)

访问jquery中的元素


在本例中,您还可以使用数据变量访问添加到数据绑定中control Think knockout的“data”属性中的任何数据。

请尝试下面的代码进行函数声明:

self.GoForPreviousWeek = function (data, event) {
现在,event.target将告诉您单击了哪个按钮。然后您可以使用

$(event.target)

访问jquery中的元素


在本例中,您还可以使用数据变量访问添加到数据绑定中control Think knockout的“data”属性中的任何数据。

签入注释2:签入注释2:但event.target正在返回[object HtmlButtoneElement]。您在jQuery中使用$(event.target)了吗?目标是按钮元素。您也可以在javascript代码中直接使用对象来获取其属性。$(event.target)返回[object]。我必须在ajax callYep中将此值作为param传递,所以请尝试使用以下命令:
self.GoForPreviousWeek=function(data,event){alert(event.target.id);}
这应该会对您有所帮助。正如pavlo提到的,您需要传递属性,我想,为什么需要传递整个对象?您应该使用event.target对象,获取相应的属性并使用它们。您所看到的[object object]是正确的,因为它是按钮对象本身。但是event.target正在返回[object HtmlButtoneElement]。您在jQuery中使用$(event.target)了吗?目标是按钮元素。您也可以在javascript代码中直接使用对象来获取其属性。$(event.target)返回[object]。我必须在ajax callYep中将此值作为param传递,所以请尝试使用以下命令:
self.GoForPreviousWeek=function(data,event){alert(event.target.id);}
这应该会对您有所帮助。正如pavlo提到的,您需要传递属性,我想,为什么需要传递整个对象?您应该使用event.target对象,获取相应的属性并使用它们。您所看到的[object object]是正确的,因为它是按钮对象本身。