jquery事件在淘汰赛前解雇

时间:2016-06-16 20:48:33

标签: javascript jquery knockout.js

我有下表

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。我只想在单击按钮时触发敲除事件。有人可以告诉我该怎么做。

由于

1 个答案:

答案 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>