我有下表
hamcrest-core-1.3
我有一个jquery事件,它监听tr
上的点击<table id="users">
<tbody data-bind="foreach: AllItems">
<tr class="master">
<td>
<button data-bind="click:$root.removeItem">Remove</button>
</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
我也有淘汰数据-bind =&#34;点击:$ root.removeItem&#34;事件。
我的问题是Jquery事件在knockoutevent之前触发并在编程时扩展下一个tr。我只想在单击按钮时触发敲除事件。有人可以告诉我该怎么做。
由于
答案 0 :(得分:0)
removeItem函数可以接受两个参数,其中绑定了clicked元素的对象和事件被发送。所以它看起来像这样
self.removeItem = function(item, event){
//DO what ever your removeItem function does
// save clicked element to jquery obj
var clickedRow = $(event.target);
// do the same you did before in jquery event handler
clickedRow.next("tr").toggle();
clickedRow.find(".arrow").toggleClass("up");
}
HTML:
<button data-bind="click:$root.removeItem.bind()">Remove</button>