我是 Knockout 的新手,但使用 jQuery 已经有一段时间了。在我目前正在进行的一个项目中,我们正在使用 Knockout 视图模型。
然而,我们也使用了一些 jQuery 插件用于选项卡、覆盖等。当不使用 KO 或在带有data-bind
. 例如,当触发器放置在绑定到 KO 的容器内时,jQuery Tools 的 Overlay 插件不起作用。
这是一个从未触发的 jQuery 事件的简单示例:
<div data-bind="with: dummyData">
<a class="alert" href="#">Never fires!</a>
</div>
<div>
<a class="alert" href="#">Works!</a><br /><br />
<a href="#" data-bind="click: $root.showHidden">Show hidden link.</a>
</div>
这是JavaScript:
var myViewModel = function () {
var self = this;
self.dummyData = ko.observable(false);
self.showHidden = function () {
self.dummyData(true);
};
};
ko.applyBindings(new myViewModel());
$(document).ready(function () {
$('a.alert').click(function () { alert('Clicked!'); });
});
KO 是否用不同的内容替换第一个容器或更新 DOM 以使 jQuery 单击事件不再起作用?
我知道KO有它自己的click:
事件。我经常使用它,但现在我只想知道是否仍然可以将点击事件与 jQuery 绑定,特别是因为我想将它与一些将自身绑定到对象的点击事件上的 jQuery 插件一起使用。