在popover html内容中的Knockout点击绑定不起作用

时间:2017-07-10 10:05:56

标签: javascript jquery knockout.js knockout-3.0 knockout-mvc

我正在尝试在弹出窗口中的HTML包含中应用单击绑定 click事件无法在 $ root.confirmDeleteColor

中运行

下面是html代码,在按钮(YES)中调用click事件。

<tbody data-bind="foreach: responseData">
    <td align="center">
       <a class="btn btn-default glyphicon glyphicon-pencil" title="Edit Color" data-bind="attr: { id: id}"></a>
       <a class="btn btn-danger glyphicon glyphicon-trash popover-top" data-toggle="popover" data-html="true" 
       data-content='<div><b>Are you Sure you want to delete this Item ?</b><div class="modal-footer"><button type="button" class="btn btn-secondary">No</button><button type="button" class="btn btn-danger" data-bind="click: $root.confirmDeleteColor">yes</button></div></div>'
       title="Delete Color"></a>
    </td>
</tbody>

这是VM代码

confirmDeleteColor: function () {
    var self = this;
    console.log("testing");
}

在控制台中,不会打印测试文本。

这是页面的图像

enter image description here

1 个答案:

答案 0 :(得分:0)

这是因为当bootstrap将popover附加到DOM时 - 已经编译了knockout模板,所以Knockout并不知道你的点击绑定。 在这种情况下,你应该使用像这样的绑定: Knockstrap popover 或者创建自己的(Custom Knockout bindings