1

给定以下代码:

<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>

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

我怎样才能让我的活动正常进行?

4

1 回答 1

3

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

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

activate并在您的 ViewModel 上定义函数:

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

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

于 2013-10-03T07:20:33.087 回答