将click-handler附加到包含输入复选框的表格单元格内的图像

时间:2014-04-23 20:16:17

标签: jquery knockout.js

我希望你能帮助我解决这个问题。我不明白为什么在选中/取消选中复选框时调用click-handler。

<tr>
 <td class="lbl">foo</td>
   <td>
    <input type="checkbox"  data-bind="checked: foo"/>
    <img alt="?" class="helpimg" id="helpFoo" src="images2\question_mini.gif"/>
   </td>
 </tr>

  $(".helpimg").on("click", function (e) {
             // why is this handler invoked when the checkbox is checked?

                });

  });

编辑:

当我删除敲除绑定时,它可以正常工作:

data-bind="checked: foo"

1 个答案:

答案 0 :(得分:0)

由于您已经在使用Knockout,我建议您使用Knockout来处理点击事件。

  • 您只需要在视图模型中添加一个函数来处理click事件
  • 然后将data-bind="click: myFunctionName"添加到img代码

JsFiddle Demo

<强>的JavaScript

var vm = {
    foo: ko.observable(true),
    clickImage: function(){
        alert('image clicked');
    }
}

ko.applyBindings(vm);

<强> HTML

<tr>
    <td class="lbl">foo</td>
    <td>
        <input type="checkbox" data-bind="checked: foo" />
        <img src="http://placehold.it/16x16" data-bind="click: clickImage"/>
    </td>
</tr>