jquery - 为什么这个点击绑定(bind)没有被绑定(bind)?

标签 jquery mvvm knockout.js

看到这个 fiddle :http://jsfiddle.net/BxvVp/11/

我创建了一个 View 模型,它具有替换 div 的功能。页面上有一些隐藏内容的内容。完成后,text绑定(bind)似乎已处理,但 click绑定(bind)不是。

难道我做错了什么?

html:

<h4>Clicking the anchor created by clicking 'Summarize' should cause an alert, but doesn't.</h4>

<a href="#" data-bind="click: summarize">Summarize</a>

<div id="plot1"></div>
<div id="summary1" style="display:none;"> <a data-bind="text: 'anchor-text-replaced', click: function(data, event) { alert('anchor clicked!'); }" href="#">anchor-text</a>

</div>
<hr />

<h4>Clicking this anchor causes the alert as exptected.</h4>
<div id="plot2"></div>
<div id="summary2">
    <a data-bind="text: 'anchor-text-replaced', click: function(data, event) { alert('anchor clicked!'); }" href="#">anchor-text</a>
</div>

javascript:
var ViewModel = function () {
    var self = this;
    self.summarize = function () {
        $("#plot1").html($("#summary1").html());
    };
};

ko.applyBindings(new ViewModel());

最佳答案

Knockout 仅在您最初调用 ko.applyBindings() 时应用绑定(bind)。并且任何时候 Knockout 替换包含绑定(bind)、foreach block 、模板等的 HTML。仅仅因为您插入了一些包含绑定(bind)的随机 HTML,并不意味着 Knockout 突然意识到这一事实。

关于jquery - 为什么这个点击绑定(bind)没有被绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15837633/

相关文章:

javascript - ajax完成后调用一个函数

javascript - 如何制作 3D 光滑 slider

WPF MVVM : Convention over Configuration for ResourceDictionary?

c# - View 模型类生成

javascript - 如何在用户确认时更新 knockoutjs View 模型?

javascript - KnockoutJS 多个数据绑定(bind) - 值和 javascript 函数

javascript - 如何向 Slick slider 添加箭头

javascript - .text() 不适用于选择表单输入

c# - 用于具有动态输入控件的 silverlight 页面的 MVVM

knockout.js - 向 Knockout 数字数据绑定(bind)添加十进制格式