Knockout绑定与重置jquery绑定

时间:2013-10-03 07:12:04

标签: javascript jquery knockout.js

给出以下代码:

<body data-bind="with: localization">
    <button id="btnLogin">Login</button>
</body>

以下javascript

$(function () {
    $('#btnLogin').click(function () {
        console.log('Clicked');
    });

    ko.applyBindings(MainView);
});

如果我点击按钮

,我的控制台是空的

如果我将标记更改为:

<body data-bind="">
    <button id="btnLogin">Login</button>
</body>

测试时我在控制台中“点击”了。

如何让我的活动正常运作?

1 个答案:

答案 0 :(得分:3)

这是另一种解决问题的方法,使用Knockout来处理点击:

<body data-bind="with: localization, click: activate">
    <button id="btnLogin">Login</button>
</body>

在ViewModel上定义activate函数:

var Vm = function() {
    this.activate = function() { 
        console.log('view model activated, possibly through click'); 
    };
}

这允许您在其他地方重复使用activate逻辑。