为什么这个点击绑定没有绑定?

ken*_*ken 0 jquery mvvm knockout.js

看到这个小提琴:http://jsfiddle.net/BxvVp/11/

我创建了一个视图模型,它具有一个用div页面上的一些隐藏内容替换内容的功能.一旦完成,text绑定似乎被处理,但click绑定不是.

难道我做错了什么?

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>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

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

ko.applyBindings(new ViewModel());
Run Code Online (Sandbox Code Playgroud)

Chr*_*att 5

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